インフォ

Tclには、デバッグの際に役立つinfoコマンドがあります。(Tkには、winfoコマンドがあります)
infoコマンドは、Tclインタプリタに関する各種内部情報を調べるのに使います。

コマンドの仕様

infoコマンド
info args procnameprocnameで指定したプロシジャの引数を返します。
info body procnameprocnameで指定したプロシジャの本体を返します。
info cmdcountインタプリタが生成されてからのコマンド実行総数を返します。
info commands ?pattern?patternで指定したパターンのコマンド名またはプロシジャ名をカレントのnamespaceから検索して返します。patternを省略した時は、すべてのコマンドを返します。patternには、Foo::print*のようにnamespaceを指定することもできます。patternにはglobスタイルの正規表現が使えます。
info complete commandcommandで指定したコマンドが正常終了するか否かを調べます。正常終了した場合は、1を返し、そうでなければ、0を返します。
info default procname arg varnamepronameで指定したプロシジャのargで指定された引数がデフォルト引数を持っているか否かを調べます。デフォルト引数を持っている場合は、1を返し、そうでなければ、0を返します。デフォルト引数の値はvarnameで指定した変数に格納されます。
info exists varnamevarcnameで指定した変数が存在するか否かを調べます。存在している場合は、1を返し、そうでなければ、0を返します。
info globals ?pattern?patternで指定したパターンのグローバル変数名を検索して返します。patternを省略した時は、すべてのグローバル変数名を返します。
info hostname実行中のホスト名を返します。
info level ?number?現在のプロシジャのスタックレベルを返します。0はトップレベルであるという意味です。numberに数を指定すると、そのスタックレベルで呼び出されたプロシジャ名と引数を返します。
info libraryTclライブラリのパスを返します。変数tcl_libraryでパスを設定することができます。
info locals ?pattern?patternで指定したパターンのローカル変数名または引数名を検索して返します。patternを省略した時は、すべてのローカル変数名を返します。
info nameofexecutableアプリケーションのバイナリ名をフルパスで返します。(例: /usr/local/bin/tclsh8.3)
info patchlevelTclのパッチレベルを返します。(例: 8.3.4) 変数tcl_patchLevelと同じ値です。
info procs ?pattern?patternで指定したパターンのプロシジャ名を検索して返します。patternを省略した時は、すべてのプロシジャ名を返します。
info script実行中のスクリプト名を返します。空の場合もあります。
info sharedlibextension共有ライブラリの拡張子を返します。(例: .dll)
info tclversionTclのバージョンを返します。(例: 8.3) 変数tcl_versionと同じ値です。
info vars ?pattern?patternで指定したパターンの変数名をカレントのnamespaceから検索して返します。patternを省略した時は、すべての変数名を返します。検索対象の変数名にはカレントスコープのローカル変数も含まれます。patternには、Foo::option*のようにnamespaceを指定することもできます。