CodeZine:文字の位置を揃えたい! エディタのキーボードマクロによる整形テクニック
- 2010年6月10日 06:02
- コメント:0
可変長引数を別のメソッドに渡す
- 2010年6月 9日 23:42
- コメント:0
ActionScriptは次のような書き方をすると、数のわからない複数の引数(不特定多数、可変長の引数)を受けることができます。
public function hoge(...args):void
{
// 引数は、配列のように args[0]、args[1]のように添え字を付けることで
// 参照できます。また、args.lengthとすれば引数の数も取得できます。
}
ですが、例えば受け取った引数をそのまま別のメソッドに渡したい場合、どうすれば良いでしょうか?次のようにした場合、引数の数が限られてしまうので問題があります。
public function max(...args):Number
{
var maxNum:Number = Math.max(args[0], args[1], args[2]);//数が固定される
return maxNum;
}
また、次のようにすると型違いでコンパイル時にエラーが出ます。
public function max(...args):Number
{
var maxNum:Number = Math.max(args);//型違いでコンパイルエラー。
return maxNum;
}
これを解決すべく登場するのが、Functionインスタンスのapplyというメソッドです。

