tcl でのモジュラー プログラミングと、それを実現する方法について知りたいです。
一部の tcl チュートリアルでは、「モジュール性」を実現する上でいくつかの欠点がある source コマンドのように言及しているため、その「パッケージ」にはさらにいくつかの欠点があるため、「パッケージ」と名前空間の組み合わせである「パッケージ」にたどり着きました。
3 つの概念の欠点と適切な階層を知りたいです。誰でも私を助けることができますか?
tcl でのモジュラー プログラミングと、それを実現する方法について知りたいです。
一部の tcl チュートリアルでは、「モジュール性」を実現する上でいくつかの欠点がある source コマンドのように言及しているため、その「パッケージ」にはさらにいくつかの欠点があるため、「パッケージ」と名前空間の組み合わせである「パッケージ」にたどり着きました。
3 つの概念の欠点と適切な階層を知りたいです。誰でも私を助けることができますか?
あなたの質問を正しく理解しているかどうかわからないので、質問で投げた3つのコマンドを説明しようとします:
source
: ファイルを Tcl スクリプトとして評価します。- 単純にファイルを開き、EOF 文字 ( ^Z
Windows と *nix の両方) まで読み取り、それを評価します。package
: パッケージを管理します。基本的に、提供されたパッケージを追跡し、新しいパッケージをロードするために必要なファイルを見つけようとします。namespace
: コマンドと変数のコンテキストを提供するため、コマンドの一意の名前について心配する必要はありません。名前空間だけが一意である必要があります。パッケージや他のモジュールのロードとは関係なく、名前空間を提供するだけです。パッケージを使用することをお勧めします。各パッケージは独自のファイルにあり、各パッケージにはすべてのコマンドが存在するパッケージ名と同じ名前空間があります。
で公開コマンドをエクスポートする必要がありますnamespace export
。