2009-03-12 7 views
9

一部AS3関数が規則を使用してパラメータの任意の数を可能にすることによってオーバーロードハンドル:(... rest)パラメータを配列で埋めていますか?

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;} 

答えて

14

Function#Apply()をチェックしてください。パラメータを配列として渡すことができます。

doSomething.apply(contextObj, args); 
1

Hereは、関数間で残りのパラメータを渡すための非常に優れたヒントです。

+0

私の投稿と親切な言葉をリンクしてくれてありがとう。 :) – johncblandii

関連する問題