【问题标题】:Object oriented TCL面向对象的 TCL
【发布时间】:2012-07-26 18:39:00
【问题描述】:

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

【问题讨论】:

    标签: oop tcl


    【解决方案1】:

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

    我用过itcl,如果你用过C/C++/Java/etc,它很容易上手。

    我发现 XOTcl 使用起来有点烦人,但很多人都喜欢它的强大功能,所以对它持保留态度。

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            【解决方案5】:

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

            【讨论】:

              猜你喜欢
              • 2014-08-25
              • 2010-10-22
              • 2011-08-09
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2022-10-18
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多