file [file]
ファイル名や属性の操作を行うコマンドです。これもいろいろオプションをつけて使います。たとえば、
file type test.tcl
のように、使います。type オプションは、ファイルやディレクトリなどの、タイプを返します。test.tcl がファイルなら、
file
と表示されます。現在の作業ディレクトリに、該当するファイルがない場合はエラーになります。この他、以下のようなオプションがあります。
file dirname test.tcl
test.tcl のディレクトリパス
file exists test.tcl
test.tcl が存在するかどうか。
file extension test.tcl
test.tcl の拡張子
file delete test.tcl
test.tcl を削除します。
file join scr_fld test.tcl
プラットフォームに対応したパス区切り文字を使って、ファイル名を結合します。Windowsの場合は、/ で区切ります。この場合は、
scr_fld/test.tcl
となります。
file mkdir scr_fld
指定した名前のディレクトリを作ります。この場合はカレントディレクトリに scr_fld という名前のディレクトリを作ります。
file tail scr_fld
最後のディレクトリ区切り文字よりあとの文字を返します。
file tail "C:/Program Files/Shade R4/Professional/SCRIPTS/test.tcl"
は、
test.tcl
となります。
floor [floor]
実数の小数部分を切り捨てます。マイナスの場合は繰り上げます。
set a 34.567
set b -34.567
message "a = [expr floor($a)]"
message "b = [expr floor($b)]"
を実行すると、
a = 34.0
b = -35.0
と表示されます。整数にする場合は、さらに int を使って
[expr int(floor($a))]
とする必要があります。
小数部分を繰り上げるには、ceil を使います。
fmod [fmod]
実数の割り算の余りを得ます。
set a 10
set b 3
message [expr fmod($a, $b)]
を実行すると、
1.0
と表示されます。
10÷3 = 3 余り 1
の1です。
foreach [foreach]
リストのすべての要素について、繰り返しを行うコマンドです。
set List [list 0 1 3 20 ab cd]
foreach elm $List {
message $elm
}
を実行すると、
0
1
3
20
ab
cd
と表示されます。elm はどんな変数名でもいいようです。