lappend的な語義は重要です。参照する元のコマンドの完全修飾名を返します。新しいコマンドがそのネームスペースで作成されます。それは公開しているネームスペースの実際のコマンドを指します。シーケンスにインポートされると、各順番のネームスペースが前のネームスペースからコマンドをインポートしている、このコマンドは最初のネームスペース、a、のもとのコマンドの完全修飾名を返します。インポートコマンドを参照していないと、そのコマンド自身の完全修飾名が返されます。?ネームスペースnamespaceの親ネームスペースの完全修飾名を返します。namespaceが指定されないと、現在のネームスペースの親の完全修飾名が返されます。stringstringの先頭のあらゆるネームスペース修飾子を返します。修飾子は::sで区切られたネームスペース名です。対しては空文字列を返します。ンドと対照をなすものです。意すべきなのはネームスペース名が実際に現在定義されているネームスペースの名前であるかは確認しないことです。string修飾されている文字列の最後の単純な名前を返します。修飾子は::sで区切られたネームスペースの名前です。このコマンドはxを返し、::に対しては空文字列を返します。qualifiersコマンドと対照をなすものです。ネームスペース名が実際に現在定義されているネームスペースの名前であるかは確認しません。namenameをコマンドか変数のどちらかとして探します。その完全修飾名を返します。グローバルネームスペースに存在すると、このコマンドはグローバルネームスペースの完全修飾名を返します。されないと、このコマンドは変数の完全修飾名を返します。フラグも与えられないとnameはコマンド名として扱われます。RESOLUTIONを参照してください。NAMESPACEとは?ネームスペースとはコマンドと変数の集合です。それらが他のネームスペースのコマンドや変数と妨げないことを保証にするために、これはコマンドと変数をカプセル化します。Tclは常にこのような集合を1つ持っています。namespace)として参照されているものです。グローバルネームスペースはすべてのグローバルな変数とコマンドを保持しています。evalコマンドは新しいネームスペースを作成します。}}は変数numとプロシージャbumpを含む新しいネームスペースを作成します。ドや変数とは独立されています。ネームスペースの変数はTclのグローバル変数に類似しています。variableコマンドを通じてプロシージャからアクセスできます。ネームスペースは動的です。evalコマンドを使ってネームスペースの中身を構築できます。""}testプロシージャがCounterネームスペースに追加され、後にrenameコマンドを通して削除されていることに注意が必要です。ネームスペースはそれらの中に他のネームスペースを持つことができます。従って、それらは階層構造を持ちます。ネストされたネームスペースは親ネームスペースの中にをカプセル化されて、そして他のネームスペースからは干渉できません。各ネームスペースはhistoryや::safe::interpのようなテキストの名前を持ちます。ネームスペースに含まれているコマンド、変数や子ネームスペースを参照するために修飾名が用いられます。修飾名はUnixのファイルやTkのウィジェットと同様の階層構造のパス名です。interpのコマンドcreateを参照します。他のネームスペースのコマンドや変数にアクセスすることを望むなら余分な文法を使わなければなりません。名前はそれらを含むネームスペースにより修飾されなければなりません。以下のようにグローバルネームスペースからCounterのプロシージャにアクセスできます。$Counter::num"1つのネームスペースが他の者を含んでいると、その要素に到達するために1つ以上の修飾子を必要とします。あると、以下のようにグローバルネームスペースからbumpプロシージャを呼び出すことができます。3コマンドを作成や改名するときにも、修飾された名前を使うことができます。Fooネームスペースにプロシージャを加えるのは以下のようになります。$args}そして、同じプロシージャを別のネームスペースに移動するのは以下のようにできます。Bar::Test修飾名に関してカバーするべき点がいくつかあります。ネームスペースはグローバルネームスペースを除いて空ではない名前を持っています。::はネームスペースの区切り記号として以外は、単純なコマンド、変数、そしてネームスペース名としては認められません。