パッケージのロードとバージョン制御機能。本コマンドは、現在のインタプリタによって利用可能なパッケージとそれらをインタプリタへロードする方法に関する簡単なデータベースを維持します。それは各パッケージの複数のバージョンをサポートし、アプリケーションが何を必要としているかに基づいて、パッケージのロードされるべき正しいバージョンを用意します。このコマンドは、バージョンの衝突を検出して報告します。provideコマンドだけが普通のTclのスクリプトから呼び出されます。その他のコマンドは主にパッケージデータベースを維持するシステムスクリプトによって使われます。packageコマンドの振る舞いはその最初の引数で決まます。以下の形式がサポートされます。provideにより提供されたものを含む)を削除します。?script?このコマンドは通常、パッケージデータベースを構築するシステム設定スクリプトの中にだけ使われます。特定のパッケージの特定のバージョンが利用可能であること、そしてscriptを実行することによってインタプリタに追加できることを示します。requireコマンドで使用するためにデータベースに保存されます。sourceを直接呼び出します)します。provideを呼び出します。スに存在することは可能です。packageとversionの情報がデータベースに含まれていると、scriptは既にあるものを上書きします。script引数が省略されると現在のpackageパッケージのversionバージョンのスクリプトが返されます。ifneededコマンドが呼び出された履歴がなければ、空文字列が戻されます。ifneededスクリプトが存在するもの)の名前リストが返されます。リスト内の要素の順番は不定です。requireに相当します。?このコマンドはpackageパッケージのバージョンversionがインタプリタに存在することを示すために呼び出されます。普通、ifneededスクリプトの一部として一度、そしてパッケージ自身によって最終的にロードされる時に再び呼び出されます。ジョンが既に提供されているとエラーが発生します。provideコマンドが呼び出されていなければ空文字列を返します。?このコマンドは一般的に特定のパッケージの特定のバージョンを使いたいTclのコードによって呼び出されます。引数はどのパッケージが求められているかを示し、このコマンドはインタプリタに適合するバージョンのパッケージがロードされているかを確かめます。このコマンドが成功するとロードされているバージョン番号を返します。ないとエラーを発生させます。-exactスイッチとversion引数の両方が指定されると、与えられたバージョンのみが受け入れられます。-exactとversionの両方が省略されると、いかなるバージョンも認められます。provideによって)提供されている場合、そのバージョン番号は-exactとversionで与えられた基準を満たせば、コマンドは直ちに制御を戻します。コマンドによって提供された情報のデータベースを検索します。適合するバージョン番号のスクリプトが見つかれば、それが呼び出されます。provideの呼び出しを含むロードに必要なあらゆる処理を行います。unknownコマンドが指定されていれば、そのコマンドが呼び出されます。ifneededスクリプトが存在するかを再び確認します。パッケージの適合するバージョンを提供するためのこれらのすべてのステップが失敗する場合、このコマンドはエラーを返します。requireの中で呼び出すための"最後の手段"コマンドを提供します。ドの最初の部分を示します。ジョンを与える2つの追加引数を与えます。2.4というコマンドを実行するでしょう。requireコマンドにバージョン番号が指定されなければ、呼び出されるコマンドのversion引数は空文字列になります。unknownスクリプトか、存在しなければ空文字列が返されます。unknownスクリプトは存在するならば削除されます。version2version1とversion2で与えられる2つのバージョン番号を比較します。version1がversion2より前のバージョンならば-1を、等しいならば0、そしてversion1がversion2より新しいならば1を返します。ifneededコマンドにより情報が提供されているpackageのすべてのバージョン番号のリストを返します。作動できれば(即ち、2つが同じメジャーなバージョン番号を持ち、version1がversion2と等しいか、より大きい場合)1を返し、そうでなければ0を返します。バージョン番号バージョン番号は2や1.162や3.1.13.1のようなドットで区切られた1つ以上の十進数からなります。大きな数はパッケージの後のバージョンに対応し、最も左端の数字はより大きな重要性を持っています。バージョン2.1は1.3より後で、バージョン3.4.6は3.3.5より新しい。欠けているフィールドは0に相当します。1.3.0や1.3.0.0と同じで、1.3.1や1.3.0.2より前です。ジョン番号は同じメジャーバージョン番号を持っている限り、前のバージョンとの上位互換性を持つことを期待されます。2.3.2や2.4や2.5.1の下で変更なしで動作するはずです。メージャーバージョン番号の変更は互換性の変更を示します。1.7.3や3.1で変更なしに動作することは保証されません。provideを呼び出し、そして、プロシージャpkg_mkIndexを使用して、パッケージインデックスファイルを作成することです。requireに答えて自動的にロードされます。詳細情報はpkg_mkIndexのドキュメンテーションを参照してください。