2

TCL 中哪个面向对象系统被认为是标准?

4

5 回答 5

3

包含在 Tcl 中的对象系统实际上是一个 oo 框架。虽然可以直接使用它,但它的目标是成为可以在其上构建其他 OO 系统的框架。Nathan 提供的链接中提到了可能最广为人知的 Tcl 的三个对象系统(itcl、xotcl、snit)。

我用过itcl,如果你习惯了C/C++/Java/etc,它很容易使用。

我发现 XOTcl 使用起来有点烦人,但很多人喜欢它的强大功能,所以请谨慎对待。

Snit 是一个纯 tcl OO 系统(包含在 tcllib 中,因此很容易获得并包含在包含 dist 的任何电池中)

简短摘要: 本身没有标准。如果您想要的东西无论您走到哪里都可以安装,那么 Snit 可能是最佳选择。

于 2009-05-29T17:35:18.333 回答
3

Tcl 8.6 带有内置的 TclOO(它衍生自相当多的其他 OO 系统)和一个版本的 [incr Tcl] 作为贡献的扩展包。虽然我预计人们最终会迁移到 TclOO 来满足他们的大部分需求,但 Tcl 程序员作为一个群体往往不喜欢对工作系统进行过多的修补,因此通常不会那么快地采用新特性。

于 2010-10-02T20:16:25.240 回答
2

查看Tcl Wiki以获取 Tcl 的 OO 系统的完整列表。看起来人们投票赞成将Incr Tcl合并到 Tcl 核心中,这告诉我 Incr Tcl 非常接近标准。虽然核心中的 oo 系统是基于其他 oo 语言的,但我相信命名空间系统是从 Incr Tcl 派生的。

http://www.tcl.tk/cgi-bin/tct/tip/50

于 2009-05-29T20:02:18.253 回答
1

Tcl 似乎还没有一个单一的对象系统作为标准脱颖而出但 XOTcl 和 Snit 非常接近;在 8.6 版中添加到核心的对象系统是基于它们的(参见此处)。

于 2009-05-29T17:02:02.633 回答
1

Tcl8.6 内部有 TclOO 包。iTcl 对此有一个新的实现。TclOO 为 iTcl 等其他包提供了 OO 架构/机制,它不应该直接在您的代码中使用。

于 2012-07-26T10:39:00.280 回答