私は、TCLインタプリタを作成していくつかの式を評価するために、cpptcl.hppライブラリを使用します。私は1つの問題を抱えていました:1つのインタプリタ(Tcl :: interpreter interp1;)では、ある種の変数と手続きが定義されているMyNamespaceという名前空間が1つのインタプリタにあり、別のTCL表現を評価するインタプリタ(Tcl :: interpreter interp2;)を使用して、MyNamespace名前空間の定義済みの変数とプロシージャを使用します。私はそれをどのようにすることができますか?あるインタプリタからtcl名前空間の内容を取得し、別のインタプリタに渡します
0
A
答えて
2
できません。少なくとも、簡単にはありません。
もちろん、あなたのinterpが純粋なTclコードのみを含み、パッケージがロードされていない場合は、基本的にすべてを(文字列に)シリアル化し、別のinterpで評価することができます。 wikiにはこれに関する例があります( "状態を保存する"などを検索してください)。
しかし私には、 "参照" interpを作成してそれを一種のテンプレートとして使用しようとしているようです。もしそうなら、私は代わりにinterpを設定し、適切に準備されたinterpを得るたびに呼び出すコードを書くだけです。
+0
Cで拡張機能によって実装されているトレースやコマンドは、複製が非常に難しい場合があります。タイマーやチャンネルのイベントに付随するコールバックは、忘れやすいものです。要するに、名前空間をコピーすることはあまり難しくありませんが、それは他のinterpで_work_を意味するわけではありません... –
関連する問題
- 1. カスタムTCLインタプリタで "free():invalid pointer"を取得する
- 2. 別の名前空間内からのC++グローバル名前空間アクセス
- 3. Cで開いたファイルディスクリプタをtclインタプリタに渡して使用する
- 4. TCLの名前空間の変数
- 5. TCLとTCLシリアルポート(COM1)コマンド用のフリーコンパイラまたはインタプリタ
- 6. インタプリタをブートストラップしますか?
- 7. Rubyインタプリタ名
- 8. 名前空間内のすべての名前空間を再帰的に取得する方法
- 9. 取得名前空間
- 10. 名前空間名に変数tclを使用する
- 11. 名前空間の内側にあるビュー内の名前空間の外にあるレール部分をどのようにレンダリングしますか?
- 12. XPathを使用してデフォルトの名前空間(名前空間接頭辞なし)を取得する
- 13. VS2010:ソリューション内の別のプロジェクトの名前空間を使用しますか?
- 14. XML - 名前空間のタグ名を取得するには?
- 15. インタプリタの実装言語にインタプリタ言語が適していますか?
- 16. 別の名前空間とクラスからの呼び出しメソッド
- 17. Rhino JSインタプリタとSpiderMonkeyインタプリタ - 別の戻り値
- 18. 同じプロジェクト内の複数のインタプリタをpycharmしますか?
- 19. 名前空間のviewModelから別の名前空間ビューモデルにObservableを更新する方法
- 20. TCLインタプリタで使用されるSIGUSR2とは何ですか?
- 21. wpf bindingコンボボックスから別の名前空間に列挙する
- 22. C#の - 基本クラスからページのBaseType.Nameと名前空間を取得し
- 23. 名前空間内のプライベートクラス
- 24. 名前空間内のコンストラクタ
- 25. symfony 2:エンティティの名前空間に別の名前空間を追加
- 26. 異なる名前空間から名前空間のリソースを作成する
- 27. コマンドの内容を取得する方法TCL
- 28. リフレクションを介して名前空間にすべての型を取得する
- 29. Pythonパッケージをローカルディレクトリからインタプリタにインポートします
- 30. Open Browser Haskellインタプリタから
これは、aolserverがtclインタプリタを初期化するために何をするかとよく似ています。それは面倒ですが、それはかなりうまくいきます。 –
interp1からinterp2へ状態をコピーしてコマンドを実行するか、interp2からコマンドを呼び出してinterp2で評価しますか?それに加えて、彼らは完全に通訳者を分離しているのですか、あるいはtclで[interp create]を使って作成したものでしょうか?私は最初のことを推測していますが、質問する価値があります。 – RHSeeger