问题标签 [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 特有的一些高级方面(命名空间、范围......)不太熟悉,我尝试了以下代码:

在创建第二次出现时会产生错误SubClassB

我可能错过了关于类名称空间的一点,因为我不明白变量SubClassesList如何具有两个不同的范围,但“相同”的名称空间/名称(来自调试输出)。

我试图在该newSubClass方法中创建一个新的命名空间,但它没有解决问题和/或添加一些无法解决的变量命名空间错误......

任何想法执行这样的事情?

PS:出于与现有环境的兼容性原因,我使用 [incr Tcl] 在我的项目中实现类,但如果有人认为其他 OO 实现会更好/更容易,请告诉我......


编辑 :

通过使用namespace eval+在与对象名称对应的新命名空间namespace inscope中创建对象找到了解决方案:subClassmainClass

0 投票
2 回答
164 浏览

namespaces - Tcl 命名空间重命名以避免冲突

我想在 tcl 中重命名或删除命名空间,谁能告诉我该怎么做?

这里 gk 是命名空间

0 投票
1 回答
303 浏览

tcl - 如何将 itcl 对象从一个类传递到另一个类?

我有 3 个类: 和A,它们都在同一个命名空间中:。我创建了一个内部实例:BCfooCA

但是在BI里面不能使用对象:据说:命令名无效C0

如何创建 Itcl 对象并将其从一个类传递给另一个类?

0 投票
1 回答
710 浏览

tcl - itcl 如何将对象传递给其他对象

我刚刚开始使用 itcl,我发现如何将 itcl 对象从一个类传递到另一个类?但这对我没有帮助。

我定义了以下对象:

以下是错误的,因为$N1只是N1 不是“节点”N1

但是如何将 Node 类型的对象传递给 CQUAD 类型的对象?我也试过:

另外,如何删除对象?unset $N1是错unset $::FEM::Node::N1的也是假的

最后一个问题:假设我有一个 CQUAD 对象,其中包含 Node 类型的对象:我怎样才能获得 CQUAD 1 的 Node2 的 y 坐标?

0 投票
3 回答
487 浏览

oop - 如何将一个类的itcl对象传递给另一个类的对象并使用传递对象的功能?

在命名空间 ::NodeTypes 我有一个类 NodeType1 和另一个类 NodeType2 的另一个对象。

我还有一个类 NetworkCollector 和另一个类 NodeType2 的另一个对象

我需要将 NodeType1 和 NodeType2 的对象作为参数传递给 NetworkCollector 的对象,并使用 NetworkCollector 类中传递的对象的功能。

您能否就如何将一个对象的引用传递给另一个类中的另一个方法提出一些可能的解决方案。以下示例代码不起作用:

问题:抛出错误----->无法读取“NodeType1Object”:没有这样的变量

您能否就如何将一个对象的引用传递给另一个类中的另一个方法提出一些可能的解决方案。

0 投票
1 回答
280 浏览

class - 如何继承多次继承基类的类

标题不清楚。这里我解释

我有一个包裹说package provide test。它有classes. 我正在使用Itcl. 包具有以下结构

当我需要时package test,我得到以下错误

我该如何处理错误

0 投票
1 回答
155 浏览

tcl - 如何在不启动 tcl shell 的情况下为 itcl 类提供资源

使用这个 Tcl 脚本:A.tcl

我这样做:

  • 启动 tcl shell 并以交互方式执行source A.tcl
  • getList然后对方法进行更改A.tcl
  • 为了使更改生效,我确实重新source文件A.tcl
  • 当我重新- 时source,我收到以下错误

我该如何克服这个错误?有没有办法在不退出 shell 的情况下获取类定义中的最新更改?

0 投票
2 回答
111 浏览

tcl - TCL 阵列:数据不持久?

我正在学习 TCL 的速成课程,但在 TCL 中遇到了数组问题。我有两个类,比如 A 和 B。在类 BI 中有一个更新本地数组的方法。数组的格式是这样的:

......它停在那里。只有 3 个指标。在 A 类中,我实例化了一个 B 对象并在其上运行一个方法来更新本地数组。B 类中的方法如下所示:

$type 变量是一个数字 1-3,$data 变量是一串数字。每当我运行此方法并打印数组内容时,它里面什么都没有,就像它是一个新数组一样。奇怪的是,我在 B 类中有其他局部变量(列表、字符串),我对它们执行相同的操作,这些变量是持久的,不像这个似乎正在重置自身的数组。关于我如何错误地处理这个问题的任何想法?如果需要更多信息,我可以提供。