TCL 中哪个面向对象系统被认为是标准?
5 回答
包含在 Tcl 中的对象系统实际上是一个 oo 框架。虽然可以直接使用它,但它的目标是成为可以在其上构建其他 OO 系统的框架。Nathan 提供的链接中提到了可能最广为人知的 Tcl 的三个对象系统(itcl、xotcl、snit)。
我用过itcl,如果你习惯了C/C++/Java/etc,它很容易使用。
我发现 XOTcl 使用起来有点烦人,但很多人喜欢它的强大功能,所以请谨慎对待。
Snit 是一个纯 tcl OO 系统(包含在 tcllib 中,因此很容易获得并包含在包含 dist 的任何电池中)
简短摘要: 本身没有标准。如果您想要的东西无论您走到哪里都可以安装,那么 Snit 可能是最佳选择。
Tcl 8.6 带有内置的 TclOO(它衍生自相当多的其他 OO 系统)和一个版本的 [incr Tcl] 作为贡献的扩展包。虽然我预计人们最终会迁移到 TclOO 来满足他们的大部分需求,但 Tcl 程序员作为一个群体往往不喜欢对工作系统进行过多的修补,因此通常不会那么快地采用新特性。
Tcl 似乎还没有一个单一的对象系统作为标准脱颖而出,但 XOTcl 和 Snit 非常接近;在 8.6 版中添加到核心的对象系统是基于它们的(参见此处)。
Tcl8.6 内部有 TclOO 包。iTcl 对此有一个新的实现。TclOO 为 iTcl 等其他包提供了 OO 架构/机制,它不应该直接在您的代码中使用。