Почему встроенные замыкания так редко используются в Actionscript? Они очень мощные, и я думаю, что они вполне читабельны. Я почти никогда не вижу, чтобы кто-нибудь их использовал, так что, возможно, я просто смотрю на неправильный код. Google использует их в своих Google Maps API для образцов Flash, но я думаю, что это единственное место, где я их видел.
Я предпочитаю их, потому что у вас есть доступ к локальным переменным в области, которая их определяет, и вы сохраняете логику в одном методе и не получаете множество функций, для которых вам нужно придумать имя.
Есть ли уловки их использования? Работают ли они практически так же, как в C #.
На самом деле я только что обнаружил, что AS3 поддерживает их, и я очень раздражен, потому что мне показалось, что я прочитал, что они устарели в AS #. Так что я вернулся к их использованию!
private function showPanel(index:int):void {
_timer = new Timer(1000, 1);
_timer.addEventListener(TimerEvent.TIMER, function(event:Event):void
{
// show the next panel
showPanel(index++);
});