Cmmでは、可変引数に対応できるように関数本体内でのみ使える特殊変数を提供してい ます。それは、以下の3つです。
$# | 引数の数 |
$* | 引数の値の配列 |
$[<数>] | 第<数>番目の引数の値。<数>は、0から$#-1までのいずれか |
可変引数を使ったサンプルプログラムを以下に示します。
func ShowArg () {
var i ;
println ("argcnt = ", $#) ;
println ("argarray = ", $*) ;
for (i = 0 ; i < $# ; i++) {
println ("ARG no.", i, " value = ", $[i]) ;
}
println () ;
}
ShowArg () ;
ShowArg (0, 1) ;
ShowArg ("This", "is", "a", "pen") ;
このプログラムの実行結果は、以下のようになります。
argcnt = 0
argarray = []
argcnt = 2
argarray = [0, 1]
ARG no.0 value = 0
ARG no.1 value = 1
argcnt = 4
argarray = [This, is, a, pen]
ARG no.0 value = This
ARG no.1 value = is
ARG no.2 value = a
ARG no.3 value = pen