Actionscript: вызов функции с неизвестным количеством аргументов. - PullRequest
0 голосов
/ 04 марта 2012

Например, у меня есть функция, объявленная в классе AS3.0:

private function log():void{
// working with arguments directly here
}

Я звоню:

log('some stuff',object,array,etc);

Тогда я звоню:

log('ok');

Ofc FlashBuilder выдает исключение с: type 1137: Incorrect number of arguments. Expected no more than 0

Как это сделать?

Обновление

В javascript это возможно. Но в AS нет, разве это не основано на ECMA? Почему такой строгий ...

Обновление

Хорошо, НВМ. Создано как то атм: log(m1:*=null,m2:*=null,m3:*=null,m4:*=null,m5:*=null):void{}

1 Ответ

5 голосов
/ 04 марта 2012

Для этого можно использовать параметр ... rest:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/statements.html#..._(rest)_parameter

Пример из документов:

function average(... args) : Number{
    var sum:Number = 0;
    for (var i:uint = 0; i < args.length; i++) {
        sum += args[i];
    }
    return (sum / args.length);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...