3

tclshのインスタンスにロードされたすべての名前空間をどのようにリストしますか?

チェンツ

4

1 に答える 1

7

TCLerのWikiからこのprocを実行してみてください

    proc listns {{parentns ::}} {
        set result [list]
        foreach ns [namespace children $parentns] {
                eval lappend result [listns $ns]
                lappend result $ns
        }
        return $result
    }

実行すると、次の出力が得られます。

% listns
::platform ::activestate::teapot::link ::activestate::teapot ::activestate ::tcl
::clock ::tcl::info ::tcl::dict ::tcl::tm ::tcl::mathop ::tcl::unsupported ::tcl
::mathfunc ::tcl::chan ::tcl::string ::tcl
%

したがって、すべての名前空間を取得するには、次のようにする必要があります。

set all_namespaces [concat [listns] "::"]
于 2012-05-31T13:03:03.110 に答える