Essential ActionScript 3.0 読書メモ 第29回 個数の不明なパラメーターを扱う

静的変数の次は静的メソッド、なのだけど、1つ節を抜かしていたので、そちらを先に。「個数の不明なパラメーターを扱う(Handling an Unknown Number of Parameters)」。

メソッドを呼ぶ際、必須パラメーターに不足があるとエラーになる。同様に、メソッドが必要とする以上の個数のパラメーターを与えてもエラーになる。

引数の数が動的に変わるメソッドを定義するためには、「…」パラメーターを用いる。「…」パラメーターは、メソッドが受け取った引数を格納する配列を定義する。単独でも、名前のあるパラメーターと一緒にも使える。

例:

public function getAverage (…numbers) {
  var total = 0;

  for (var i = 0; i < numbers.length; i++) {
    total += numbers[i];
  }

  return total / numbers.length;
}

getAverage(1, 2, 3); // 2
getAverage(1. 2, 3, 4, 5); // 3

配列numbersが、引数を全て受け取って格納する。

「…」パラメーターは、名前のある変数と一緒にも使える。その場合、「…」パラメーターは引数の最後に配置しなければならない。
例:

public function newArticle(title, …tags) {
  this.title = title;
  for (var i =0; i < tags.length; i++) {
    this.tags[i] = tags[i];
  }
}

newArticle(“editor”, “emacs”, “vim”); // title = “editor”; tags = (“emacs”, “vim”)
newArticle(“language”, “ActionScript”. “PHP”, “Ruby”); // title = “language”; tags = (“ActionScript”, “PHP”,
“Ruby”)

コメントを残す