2009-03-12 5 views
9

Einige AS3 Funktionen Griff Überlastung für eine beliebige Anzahl von Parametern, indem man die Konvention mit:(... Rest) Parameter mit einem Array ausfüllen?

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

Ich bin in einer Situation, wo ich alle Werte eines Arrays übergeben müssen (beliebiger Länge) in dieser Art Funktion ... Ich bin mir nicht sicher, wie ich das machen soll. Vorschläge?

Hier ist eine Hack-Lösung, aber es ist nicht erweiterbar:

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

Antwort

14

Check out Function#Apply(). Sie können die Parameter als Array übergeben.

doSomething.apply(contextObj, args); 
1

Here ist ein sehr guter Tipp, um den Restparameter zwischen Funktionen zu übergeben.

+0

Danke für die Verknüpfung meiner Post und die freundlichen Worte. :) – johncblandii

Verwandte Themen