заполнение (... rest) параметров массивом? - PullRequest
9 голосов
/ 12 марта 2009

Некоторые функции as3 обрабатывают перегрузку, допуская произвольное количество параметров, используя соглашение:

public function doSomething( ... rest ):void;

Я нахожусь в ситуации, когда мне нужно передать все значения массива (произвольной длины) в этот тип функции ... Я не уверен, как это сделать. Предложения?

Вот решение для взлома, но оно не расширяемое:

switch (args.length) {
case 0: doSomething(); break;
case 1: doSomething(args[0]); break;
case 2: doSomething(args[0], args[1]); break;}

Ответы [ 2 ]

15 голосов
/ 12 марта 2009

Выезд Функция # Применить () . Это позволяет передавать параметры в виде массива.

doSomething.apply(contextObj, args);
1 голос
/ 11 сентября 2012

Здесь - очень хороший совет для передачи параметра rest между функциями.

...