|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
.
|
Кстати, о конструкциях... Читал хабрарабр. Наткнулся на такое
Кстати, о конструкциях... Читал
UPD: "Такой прием во многих случаях может сократить объем кода и убрать негативный оттенок асинхронности". Очень понравилось. UPD_1: Изучая комменты хабралюдей, увидел: "Функцию-то описать можно, но этот код не скомпилируется в том виде, в каком вы его привели, т.к. отсутствует конструктор, принимающий параметр. Будет сгенерирован по дефолту пустой конструктор, который не принимает аргументов, и при попытке туда что-то передать вылезет ошибка. Я допускаю, что наличие правильного конструктора подразумевается, но это не для всех очевидно, некоторых читателей вы вводите в заблуждение". Факт 1. Чувак вводит нас в заблуждение. UPD_2. Чорт. Я не могу читать следующие комменты! Все слишком банально: "По-поводу TestClass, зачем так конструктор? Он не нужен, в примере использования ничего в класс не передаётся". А кто объяснит UFO: "TestClass(this).property = value;"? Последний раз редактировалось dimarik; 03.03.2009 в 01:53. |
|
|||||
ветеран форума
|
Это шедевр просто. Кастинг самого в себя. Безопасность кода чуть менее чем плохая, никакой смысловой нагрузки я тут не вижу. Ощущение, что человек путает as2 с as3.
__________________
4am is time to rock |
|
|||||
strange mood
|
Это я писал про конструктор. Прочитав пост DarkLight, я понял что я идиот, ибо проглядел отсутствие new и спутал кастинг с созданием экземпляра
__________________
тонкий тролль, осеянный благодатью |
|
|||||
strange mood
|
Сейчас какраз говорим об этом с автором:
http://habrahabr.ru/blogs/flex/52458/#comment_1419237
__________________
тонкий тролль, осеянный благодатью |
|
|||||
Modus ponens
|
Кстати, для любителей подобных шедевров с легким налетом идиотизма...
http://www.actionscript.org/forums/s...=179053&page=3
__________________
Hell is the possibility of sanity |
|
|||||
strange mood
|
Function.prototype.curry = function(...rest){ var method = this; return function(...args){ return method.apply(this,rest.concat(args)); }; }; Похоже вызывается это так:
__________________
тонкий тролль, осеянный благодатью |
|
|||||
ветеран форума
|
Хм, в случае того поста на хабре это будет паттерн "параноик". Ни один метод класса ни в чем не должен быть уверен Основным применением является защита от копипаста кода из одного класса в другой
__________________
4am is time to rock |
|
|||||
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Интересно стало. потестил:
package { import flash.display.Sprite; import flash.events.Event; /** * ... * @author k0t0vich (c) 2009 b_konstantin@list.ru http://islandsworld.ru/ */ public class Main extends Sprite { private var _value:int = 3; public var func1:Function = new Paranoik().getValue; public var func2:Function = new Simple().getValue; public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); // entry point trace (func1()); trace(func2()); } } } package { /** * ... * @author k0t0vich (c) 2009 b_konstantin@list.ru http://islandsworld.ru/ */ public class Paranoik { private var _value:int = 1; public function Paranoik() { } public function getValue():int { return Paranoik(this)._value; } } } package { /** * ... * @author k0t0vich (c) 2009 b_konstantin@list.ru http://islandsworld.ru/ */ public class Simple { private var _value:int = 2; public function Simple() { } public function getValue():int { return _value; } } } зачем тогда: Paranoik(this)._value ?
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 03.03.2009 в 11:29. |
Часовой пояс GMT +4, время: 11:14. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|