next up previous contents
Next: 11.5.1 強制クラス外参照 Up: 11. メソッドと秘伝 Previous: 11.4.2 自己参照変数self

11.5 メソッド/秘伝の可変引数サポート

メソッド/においても、関数のような、可変引数をサポートするための、

$# 引数の数
$* 引数の値の配列
$[<数>] 第<数>番目の引数の値。<数>は、0から$#-1までのいずれか

が利用できます。

ただし、メソッドの場合は、「見えない引数」として、必ず第1引数($[0])は thisになります。例えば、下記のプログラム、


class VarArgsDemo {

method ShowArgs () {
println ("Number of args = ", $#) ;
println ("Array of args = ", $*) ;
var i ;
for (i = 0 ; i < $# ; i++) {
println ("$[", i, "] = ", $[i])
}
}
}

var x = new VarArgsDemo ;

x->ShowArgs () ; // (A)
x->ShowArgs ("This", "is", "a", "pen") ; // (B)

の実行結果は、(A)は、

Number of args = 1
Array of args = [<instance 698a3>]
$[0] = <instance 698a3>

(B)は、

Number of args = 5
Array of args = [<instance 698a3>, This, is, a, pen]
$[0] = <instance 698a3>
$[1] = This
$[2] = is
$[3] = a
$[4] = pen

となります。11.1



 
next up previous contents
Next: 11.5.1 強制クラス外参照 Up: 11. メソッドと秘伝 Previous: 11.4.2 自己参照変数self
Tetsuo Ono
1998-11-05