Как проверить функцию на наличие неограниченных аргументов (... аргументов) - PullRequest
0 голосов
/ 17 января 2012

если у меня есть функция:

function a( param:* , ... args ):void ;
a.length // 1


flash.utils.sdescribeType(a);
//return me informations only about first parameter , nothing about '... args'.

edit: avmplus.describeTypeJSON тоже не помогло.

Итак, есть ли другой способ проверить наличие неограниченных аргументов, кроме блока try {} и push много параметров?

// редактировать для Kodiak

1 Ответ

0 голосов
/ 17 января 2012

Вы можете проверить это только внутри функции.

Function().length

возвращает вам определенный номер параметра, который функция готова принять.

параметр ..args похож на вассказал неограниченно.так что вы никак не можете проверить его длину вне функции.

вы можете сделать это только внутри функции, поэтому напишите некоторую функцию "bridge":

function bridgeToMain ( ...args ) : Number
{
    trace ( args.length );
    trace ( mainFunction.length );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...