Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.11.2009, 18:32
chabapok вне форума Посмотреть профиль Отправить личное сообщение для chabapok Найти все сообщения от chabapok
  № 1  
Ответить с цитированием
chabapok

Регистрация: Jul 2009
Сообщений: 240
Записей в блоге: 1
По умолчанию как взять ссылку на set-метод класса? (плюс др.вопросы по синтаксису)

1) если есть:

public function set myVar(value){}
public function get myVar():int{}
...
function init(method:Function){}

как вызвать функцию init с параметром сеттера myVar?

2) как передать примитивное значение (int,String...) по ссылке?


Последний раз редактировалось chabapok; 08.11.2009 в 18:55.
Старый 08.11.2009, 18:39
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 2  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
1) Зачем?
2) Написать простенький контейнер для этих значений или использовать встроенный:
Код AS3:
var cont:Object = {intParam:25, strParam:'строка'};
foo(cont);
trace(cont);
 
function foo(params:Object):void{
	params.intParam = 777;
	params.strParam = 'ururu';
}


Последний раз редактировалось SamFR; 08.11.2009 в 18:43.
Старый 08.11.2009, 18:49
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 3  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
2) как передать примитивное значение (int,String...) по ссылке?
Примитивные значения по ссылке не передаются.

Старый 08.11.2009, 18:58
chabapok вне форума Посмотреть профиль Отправить личное сообщение для chabapok Найти все сообщения от chabapok
  № 4  
Ответить с цитированием
chabapok

Регистрация: Jul 2009
Сообщений: 240
Записей в блоге: 1
1 - то есть как это зачем? чтобы в функции init можно было менять те значения, контроллером которых она является.

Я, конечно, упростил задачу, выделив главное. Поэтому, неочевидно зачем оно нужно.

2 - сам так думал, но это не cработало, почему-то.

Старый 08.11.2009, 19:10
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 5  
Ответить с цитированием
bicubic_bublic
Banned

Регистрация: Sep 2009
Сообщений: 231
Не думаю что понял задачу правильно, но почему бы не передавать в init название сеттера (setterName), а дальше обращатся как
Код AS3:
object[setterName] = value

Старый 08.11.2009, 19:28
chabapok вне форума Посмотреть профиль Отправить личное сообщение для chabapok Найти все сообщения от chabapok
  № 6  
Ответить с цитированием
chabapok

Регистрация: Jul 2009
Сообщений: 240
Записей в блоге: 1
Цитата:
почему бы не передавать в init название сеттера (setterName), а дальше обращатся как
как передать в init название сеттера?

пытаюсь передать просто как будто это функция - передается название геттера.

Старый 08.11.2009, 19:35
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 7  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
ну как бы у сеттера и геттера по определению одно название на двоих =)

А Вы что сделать-то хотите? может есть какой-то иной путь?
__________________
...вселенская грусть

Старый 08.11.2009, 19:54
chabapok вне форума Посмотреть профиль Отправить личное сообщение для chabapok Найти все сообщения от chabapok
  № 8  
Ответить с цитированием
chabapok

Регистрация: Jul 2009
Сообщений: 240
Записей в блоге: 1
Конечно я знаю, что у сеттера и геттера одно название на двоих.
Конечно есть иной путь, и я им уже пошел - переделал сеттер в функцию setMyValue, а как взять адрес простой (не set) функции - это любой знает.

Но хотелось бы все же разобраться.

Что я хочу сделать - рассказывать долго, я не хотел этого касаться. Нор раз спрашивают

У меня есть, допустим, форма -- 100 полей TextField. (flex не рекомендовать, разговариваем про flash). И есть несколько классов со статическими переменными, которые нужно забиндить каждую со своим полем TextField. Причем в некоторых случаях нужно простое копирование, а в некоторых, например, разложить в массив параметры, введенные через запятую в текстовое поле. А в некоторых - еще какая-то другая логика парсинга того, что вводится в TextField.

Выход - я пишу 1 класс, контроллер, а экземпляры контроллера связываю с конкретным экземпляром TextField и конкретным set-методом. Плюс контроллер этот контролирует еще подсказки, которые в TextField выводятся, на все эти события подписывается, вид курсора меняет при наведении и тд. Собственно, на каждое TextField писать свою функцию подсказок скучно, а 1 класс с этим всем легко справляется.

после того, как я переделал "function set myValue()" в "function setMyValue()" -- все заработало, но просто это уже дело принципа - можно ли взять ссылку на сеттер.

Старый 08.11.2009, 20:21
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 9  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
а расширить класс текстового поля и задать параметры при создании - не проще???
__________________
...вселенская грусть

Старый 08.11.2009, 21:45
chabapok вне форума Посмотреть профиль Отправить личное сообщение для chabapok Найти все сообщения от chabapok
  № 10  
Ответить с цитированием
chabapok

Регистрация: Jul 2009
Сообщений: 240
Записей в блоге: 1
Как мне видится сейчас - нет.

Ну, если у меня сейчас из одно TextField складывается в String, а из другого - в Arraу, то сейчас я имею просто два разных сет-метода (ну или теперь функции)

а пришлось бы два разных класса делать. плюс третий - с общими методами, в котором подсказки реализованы. И на каждый способ расклыдвания пришлось бы заводить свой класс. А потом я путаюсь в именах файлов, и по два часа думаю как же обозвать воо-он тот класс.

Но мы ушли в оффтопик. Тема паттернов перктирования интересна и мне малопонятна, но исходный вопрос был все-таки про синтаксис

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:18.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 03:18.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.