PowerFX V1.0 運用説明書 - Microsoft(R) Windows(R) - |
目次 索引 |
第3章 TCLplus | > 3.3 TCLplusスクリプトの文法 |
プロシージャとはTCLplusスクリプトで一連の処理を一つのコマンドとして定義したものです。
作成したプロシージャは既存のコマンドと同様に使用することができます。
例:
2つの引数の乗算結果を出力する
#プロシージャを定義 proc NEWCMD {a b} { return [expr $a * $b] } #プロシージャの実行結果をpara1に格納 set para1 [NEWCMD 3 4] puts $para1 |
作成した変数の有効範囲をスコープと呼びます。変数の作成位置により、その変数を参照できる範囲が異なります。
プロシージャの内部で作成された変数は局所変数と呼び、プロシージャの内部でのみ有効です。
また、プロシージャの外部で作成された変数は大域変数と呼び、プロシージャの外部でのみ有効です。
例:
局所変数と大域変数で同じ変数名を使用する。
set x 10 set y 20 puts "大域変数x,yに10,20を格納" proc NEWCMD {s t} { set x $s set y $t puts "局所変数x,yに$s,$tを格納" puts " 局所変数xの値は$x" puts " 局所変数yの値は$y" } #局所変数x,yに30,40を格納 NEWCMD 30 40 puts "局所変数x,yはプロシージャNEWCMD内でのみ有効であるため大域変数x,yには影響しない" puts " 大域変数xの値は$x" puts " 大域変数yの値は$y" |
実行結果:
大域変数x,yに10,20を格納 局所変数x,yに30,40を格納 局所変数xの値は30 局所変数yの値は40 局所変数x,yはプロシージャNEWCMD内でのみ有効であるため大域変数x,yには影響を与しない 大域変数xの値は10 大域変数yの値は20 |
目次 索引 |