0

パッケージのバージョンを検証できるように、proc が属するパッケージを調べようとしています。

パッケージがあると言う

some::package 1.0

プロシージャを持っている

some::package::some_proc

some::package::some_proc を指定して、1.0 を取得できるようにしたい

名前空間が、それが属するパッケージと同じ名前であることは保証できません

どんな助けでも大歓迎です

4

3 に答える 3

2

技術的には、独自のバージョンの を提供しないと、これを行うことはできませんpackage require。Tcl の名前空間とパッケージおよびファイルは、Python や Java のようにリンクされていません。

すべての proc が静的に定義されていることがわかっている場合 (たとえば、動的コード生成がない場合)、package require独自のバージョンに置き換えて、呼び出しの前後にすべての proc を列挙し、その名前をいくつかのレジストリに入れることができます。

何を検証しようとしていますか?

ある種の API を検証したい場合は、Tcllib のpluginmgrパッケージを調べることができます。

于 2013-08-31T18:15:35.453 に答える