Tcl では、角括弧は「角括弧の間のコードを評価する」ことを示します。その評価の結果は、角かっこで囲まれた式全体に置き換えられます。したがって、最初の行はtrue_test_sfm
単一の引数で関数を呼び出します$run_dir
。次に、その関数呼び出しの結果が変数に割り当てられますrtn
。残念ながら、true_test_sfm
は組み込みの Tcl 関数ではありません。つまり、これはユーザー定義であることを意味します。つまり、ここで提供された情報に基づいてその関数呼び出しの効果がどうなるかを知る方法はありません。
glob
ファイル パターンを引数として取り、そのパターンに一致するファイルを一覧表示する組み込みの Tcl 関数です。たとえば、ディレクトリにファイル「foo」、「bar」、「baz」が含まれている場合、「bar」と「baz」glob b*
の 2 つのファイルのリストが返されます。したがって、2 行目は で指定されたパターンに一致するファイルを検索し$run_dir
、cd
コマンド (別の Tcl ビルトイン) を使用して、 で見つかったディレクトリに移動しglob
ます。おそらく$run_dir
、実際にはファイル パターンではなく、明示的なファイル名 (つまり、文字列に * や ? などのグロビング文字がない) です。そうしないと、このコードが予期せず壊れる可能性があります。Windows では、C++のFindFirstFile
/の組み合わせをTclの の代わりに使用でき、.FindNextFile
glob
SetCurrentDirectory
cd
pwd
プロセスの現在の作業ディレクトリを絶対パスとして返す別の組み込み Tcl 関数です。したがって、最後の行は現在の作業ディレクトリを照会し、結果を という名前の変数に保存していますpwd
。GetCurrentDirectory
ここでは、 の代わりに使用できますpwd
。