問題タブ [itcl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tcl - オブジェクトを縮小するためのより効率的な方法は何ですか?
私はいくつかの内部値を持つクラスを持っています:
ユーザーがコンストラクターに指定する値でそれらを開始したいのですが、7つあるので、混乱とコードサイズを減らすために、ループで実行しました。
set
すべてのコマンドを書くことに関して、このアプローチとの違い(パフォーマンスの面で)はありますか?
tcl - Tcl から Itcl への変換
私はITCLに非常に慣れていないので、次のコードをTclからitclに変換する方法を教えてください。
class - Incr Tcl を使用したクラス オブジェクトの階層構造
次のようなクラス/サブクラスオブジェクトの階層構造を実装しようとしています。
ここでの主なポイントは、各メイン クラスで同じ名前を持つ異なるサブクラスを宣言できることです (そして、それらの変数は独立しています)。
(注: ここでは、実行中に作成されるクラスオブジェクトの階層について話しているのであって、異なるクラスの遺産についてではありません。)
Tcl に固有の高度な側面 (名前空間、スコープなど) にあまり詳しくないので、次のコードを試しました。
の 2 回目のオカレンスを作成するときにエラーが発生しますSubClassB
。
変数が2つの異なるスコープを持つことができる方法を理解していないSubClassesList
が、「同じ」名前空間/名前(デバッグ出力から)があるため、おそらくクラスの名前空間についてのポイントがありません。
メソッドで新しい名前空間を作成しようとしましたnewSubClass
が、問題が解決されなかったり、いくつかの不可解な変数の名前空間エラーが追加されたりしませんでした...
そのようなことを実行するアイデアはありますか?
PS: [incr Tcl] を使用して、既存の環境との互換性の理由からプロジェクトにクラスを実装しましたが、他の OO 実装の方が優れている/簡単だと思う場合は、お知らせください...
編集 :
namespace eval
+を使用して、オブジェクト名に対応する新しい名前空間にオブジェクトnamespace inscope
を作成することで解決策を見つけました:subClass
mainClass
namespaces - 競合を避けるための Tcl 名前空間の名前変更
Tcl で名前空間の名前を変更または削除したいのですが、その方法を教えてもらえますか?
ここで gk は名前空間です
tcl - itcl オブジェクトを他のオブジェクトに渡す方法
itcl を使い始めたばかりで、あるクラスから別のクラスに itcl オブジェクトを渡す方法を見つけました。しかし、それは私を助けませんでした。
次のオブジェクトが定義されています。
$N1
単純N1
に「ノード」であり、「ノード」ではないため、次は間違っています。N1
しかし、 Node 型のオブジェクトを CQUAD 型の Object に渡すにはどうすればよいでしょうか? 私も試しました:
また、オブジェクトを削除するにはどうすればよいですか? unset $N1
間違ってunset $::FEM::Node::N1
います 偽物でもあります
最後の質問: Node タイプのオブジェクトを含む CQUAD オブジェクトがあるとします。たとえば、CQUAD 1 の Node2 の y 座標を取得するにはどうすればよいでしょうか?
class - 基底クラスを複数回継承するクラスを継承する方法
タイトル不明。ここで私は説明しています
私はパッケージに言ってもらいますpackage provide test
。持っていclasses
ます。を使用してItcl
います。パッケージは次の構造を持っています
私が必要としているときpackage test
、私はエラーを下回っています
エラーを処理するにはどうすればよいですか
tcl - Tcl シェルを起動せずに itcl クラスをリソース化する方法
この Tcl スクリプトを使用すると、次のようになります。A.tcl
私はこれをします:
- Tcl シェルを開始し、対話的に行う
source A.tcl
getList
次に、メソッドに変更を加えますA.tcl
- 変更を有効にするために
source
、ファイルを再作成しますA.tcl
- 再実行すると
source
、次のエラーが表示されます
どうすればこのエラーを克服できますか? シェルを終了せずにクラス定義の最新の変更を取得する方法はありますか?
tcl - TCL 配列: データが永続的でない?
TCL の短期集中コースを受講していますが、TCL の配列で問題が発生しています。A と B という 2 つのクラスがあります。クラス BI には、ローカル配列を更新するメソッドがあります。配列の形式は次のようになります。
...そしてそこで止まります。インデックスは3つだけ。クラス A では、B オブジェクトをインスタンス化し、それに対してメソッドを実行してローカル配列を更新します。クラス B 内のメソッドは次のようになります。
$type 変数は 1 ~ 3 の数字で、$data 変数は数字の文字列です。このメソッドを実行して配列の内容を出力すると、新しい配列のように、何も含まれません。奇妙なのは、クラス B に他のローカル変数 (リスト、文字列) があり、同じ操作を行って、それ自体をリセットしているように見えるこの配列とは異なり、永続的であることです。これをどのように誤って処理している可能性があるかについてのアイデアはありますか? さらに情報が必要な場合は、提供できます。