【问题标题】:Does Ruby have anything that Smalltalk doesn't? [closed]Ruby 有什么 Smalltalk 没有的吗? [关闭]
【发布时间】:2015-12-26 06:17:07
【问题描述】:

Ruby 有什么 Smalltalk 没有的吗?除了 Pascal/C 外观和运算符优先级之外,该语言看起来几乎是一对一的。

【问题讨论】:

    标签: ruby smalltalk


    【解决方案1】:

    Ruby 有而 Smalltalk 没有的东西:

    • Ruby 有 mixins; Smalltalk 没有。

    • Ruby 允许向单个对象添加方法;在 Smalltalk 中,所有 方法驻留在类中。

    • 为方便起见,Ruby 有其他几种文字语法,而 Smalltalk 没有。

    • 在 Ruby 中,在 Smalltalk 中动态添加方法是实用且有点用处的,通常将方法和类视为静态的。

    • Ruby 在类定义中提供了强大的宏; Smalltalk 不提供 宏。

    • Ruby 提供了一种非常方便的语法来表达模式 字符串岛例如,正则表达式。它看起来就像在 Unix 中一样 "ed" 行编辑器,带有斜线之间的模式。 Smalltalk 有 语法上完全没有。
    • 在 Ruby 中(如语言 Self,这方面的先驱,以及 语言 Self 得名),你通常可以 通过省略“self”的提及来缩写“self”的消息调用。 例如,对于“self.foo”,您可以简单地写为“foo”。但在 Smalltalk,你不能通过简单地写“foo”来缩写“self foo”。 这大大节省了编写和阅读 Ruby 代码的成本。

    • Ruby 不需要声明所有局部变量和 实例变量。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 2010-11-12
    • 2010-12-16
    • 2017-04-24
    • 2014-10-08
    相关资源
    最近更新 更多