静的変数の次は静的メソッド、なのだけど、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”)