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

Вернуться   Форум Flasher.ru > Блоги > Yet Another Flash Blog

Оценить эту запись

FlashDevelop 4.x, статья 6: Изменение декларации метода по параметрам

Запись от ir73 размещена 12.08.2011 в 10:30

Итак, сегодня про методы.

Часто бывает, что вам надо изменить метод, чтобы он принимал еще один параметр, или убрать один лишний, или не один, а 5. Руками делать это, понятное дело, лень. И тут нам на помощь приходит генератор.

Итак, для начала просто сгенерим метод:

Код AS3:
		public function Packet() {
			createSomeStuff("A", 3, new Array());
		}
получаем:

Код AS1/AS2:
 
                public function createSomeStuff(string:String, number:Number, array:Array):void {
 
		}
Теперь меняем количество и тип входных параметров, например:
Код AS3:
create|SomeStuff(new Array(), "cool stuff", new Microphone());
ставим курсов на | и жмем Ctrl+1, выбираем Change method declaration:
Код AS3:
		public function Packet() {
			createSomeStuff(new Array(), "cool stuff", new Microphone());
		}
 
 
 
		public function createSomeStuff(array:Array, string:String, microphone:Microphone):void {
 
		}
Сигнатура метода изменилась! FD старается умно подойти к вопросу и не менять имена параметров, если тип параметра остался прежним.

В следующей статье про генерацию [Event] метатегов.
Всего комментариев 5

Комментарии

Старый 12.08.2011 12:32 nOobCrafter вне форума
nOobCrafter
А будет описание именно фишек 4.0, то есть тех которых не было в 3.+?
Старый 12.08.2011 13:12 ir73 вне форума
ir73
честно говоря, не помню что там было в 3.х, так как уже больше чем полгода сижу на FD4
Старый 12.08.2011 18:36 nOobCrafter вне форума
nOobCrafter
а может есть список нововведений в четверку которых не было в тройке? где бы такое можно было бы почитать? или просто хотелось бы узнать что нового появилось в возможностях рефакторинга, ренейм классов в частности.
Старый 12.08.2011 19:23 ir73 вне форума
ir73
Старый 19.08.2011 23:27 Aloran вне форума
Aloran
к сожалению мы получим тот же результат:
Код AS3:
public function Packet()
{
    createSomeStuff(xml.@id, "cool stuff", new Microphone());
}
 
public function createSomeStuff(array:Array, string:String, microphone:Microphone):void
{
 
}
хотя перед добавлением microphone:Microphone у нас было так:
Код AS3:
public function createSomeStuff(str:String, string:Stringe):void
{
 
}
________________________

вот еще
Код AS3:
private function foo():void
{
    dra|w(0xFFFF00);
}
//получаем следующее
private function darw(object:Object):void
{
    |
}
//а хотелось бы
private function darw(color:uint):void
{
    |
}
Обновил(-а) Aloran 26.08.2011 в 11:43
 

 


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


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