問題タブ [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.

0 投票する
1 に答える
62 参照

tcl - オブジェクトを縮小するためのより効率的な方法は何ですか?

私はいくつかの内部値を持つクラスを持っています:

ユーザーがコンストラクターに指定する値でそれらを開始したいのですが、7つあるので、混乱とコードサイズを減らすために、ループで実行しました。

setすべてのコマンドを書くことに関して、このアプローチとの違い(パフォーマンスの面で)はありますか?

0 投票する
1 に答える
119 参照

tcl - Tcl から Itcl への変換

私はITCLに非常に慣れていないので、次のコードをTclからitclに変換する方法を教えてください。

0 投票する
1 に答える
397 参照

class - Incr Tcl を使用したクラス オブジェクトの階層構造

次のようなクラス/サブクラスオブジェクトの階層構造を実装しようとしています。

ここでの主なポイントは、各メイン クラスで同じ名前を持つ異なるサブクラスを宣言できることです (そして、それらの変数は独立しています)。

(注: ここでは、実行中に作成されるクラスオブジェクトの階層について話しているのであって、異なるクラスの遺産についてではありません。)

Tcl に固有の高度な側面 (名前空間、スコープなど) にあまり詳しくないので、次のコードを試しました。

の 2 回目のオカレンスを作成するときにエラーが発生しますSubClassB

変数が2つの異なるスコープを持つことができる方法を理解していないSubClassesListが、「同じ」名前空間/名前(デバッグ出力から)があるため、おそらくクラスの名前空間についてのポイントがありません。

メソッドで新しい名前空間を作成しようとしましたnewSubClassが、問題が解決されなかったり、いくつかの不可解な変数の名前空間エラーが追加されたりしませんでした...

そのようなことを実行するアイデアはありますか?

PS: [incr Tcl] を使用して、既存の環境との互換性の理由からプロジェクトにクラスを実装しましたが、他の OO 実装の方が優れている/簡単だと思う場合は、お知らせください...


編集 :

namespace eval+を使用して、オブジェクト名に対応する新しい名前空間にオブジェクトnamespace inscopeを作成することで解決策を見つけました:subClassmainClass

0 投票する
2 に答える
164 参照

namespaces - 競合を避けるための Tcl 名前空間の名前変更

Tcl で名前空間の名前を変更または削除したいのですが、その方法を教えてもらえますか?

ここで gk は名前空間です

0 投票する
1 に答える
710 参照

tcl - itcl オブジェクトを他のオブジェクトに渡す方法

itcl を使い始めたばかりで、あるクラスから別のクラスに itcl オブジェクトを渡す方法を見つけました。しかし、それは私を助けませんでした。

次のオブジェクトが定義されています。

$N1単純N1 に「ノード」であり、「ノード」ではないため、次は間違っています。N1

しかし、 Node 型のオブジェクトを CQUAD 型の Object に渡すにはどうすればよいでしょうか? 私も試しました:

また、オブジェクトを削除するにはどうすればよいですか? unset $N1間違ってunset $::FEM::Node::N1います 偽物でもあります

最後の質問: Node タイプのオブジェクトを含む CQUAD オブジェクトがあるとします。たとえば、CQUAD 1 の Node2 の y 座標を取得するにはどうすればよいでしょうか?

0 投票する
1 に答える
280 参照

class - 基底クラスを複数回継承するクラスを継承する方法

タイトル不明。ここで私は説明しています

私はパッケージに言ってもらいますpackage provide test。持っていclassesます。を使用してItclいます。パッケージは次の構造を持っています

私が必要としているときpackage test、私はエラーを下回っています

エラーを処理するにはどうすればよいですか

0 投票する
1 に答える
155 参照

tcl - Tcl シェルを起動せずに itcl クラスをリソース化する方法

この Tcl スクリプトを使用すると、次のようになります。A.tcl

私はこれをします:

  • Tcl シェルを開始し、対話的に行うsource A.tcl
  • getList次に、メソッドに変更を加えますA.tcl
  • 変更を有効にするためにsource、ファイルを再作成しますA.tcl
  • 再実行するとsource、次のエラーが表示されます

どうすればこのエラーを克服できますか? シェルを終了せずにクラス定義の最新の変更を取得する方法はありますか?

0 投票する
2 に答える
111 参照

tcl - TCL 配列: データが永続的でない?

TCL の短期集中コースを受講していますが、TCL の配列で問題が発生しています。A と B という 2 つのクラスがあります。クラス BI には、ローカル配列を更新するメソッドがあります。配列の形式は次のようになります。

...そしてそこで止まります。インデックスは3つだけ。クラス A では、B オブジェクトをインスタンス化し、それに対してメソッドを実行してローカル配列を更新します。クラス B 内のメソッドは次のようになります。

$type 変数は 1 ~ 3 の数字で、$data 変数は数字の文字列です。このメソッドを実行して配列の内容を出力すると、新しい配列のように、何も含まれません。奇妙なのは、クラス B に他のローカル変数 (リスト、文字列) があり、同じ操作を行って、それ自体をリセットしているように見えるこの配列とは異なり、永続的であることです。これをどのように誤って処理している可能性があるかについてのアイデアはありますか? さらに情報が必要な場合は、提供できます。