2009-03-12 17 views
9

Algunas funciones as3 manejan sobrecarga permitiendo para un número arbitrario de parámetros utilizando la convención:rellenando los parámetros (... rest) con una matriz?

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

Estoy en una situación en la que necesito para pasar todos los valores de una matriz (de longitud arbitraria) en este tipo de la función ... No estoy seguro de cómo hacer esto. Sugerencias?

Aquí es una solución de corte, pero no es extensible:

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

Respuesta

14

Salida Function#Apply(). Le permite pasar los parámetros como una matriz.

doSomething.apply(contextObj, args); 
1

Here es una muy buena sugerencia para pasar el parámetro de descanso entre las funciones.

+0

Gracias por vincular mi publicación y las amables palabras. :) – johncblandii