Ruby有没有Smalltalk没有的东西?

时间:2015-12-26 06:17:08

标签: ruby smalltalk

Ruby有没有Smalltalk没有的东西?除了Pascal / C外观和运算符优先级之外,该语言几乎是一对一的。

1 个答案:

答案 0 :(得分:3)

Ruby拥有的东西和Smalltalk没有:

  • Ruby有mixins; Smalltalk没有。

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

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

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

  • Ruby在类定义中提供了强大的宏; Smalltalk提供没有 完全是宏。

  • Ruby为表达模式提供了非常方便的语法 字符串,我例如,正则表达式。它看起来就像在Unix中一样 " ED"行编辑器,斜杠之间的模式。 Smalltalk有 没有那种,用它的语法。
  • 在Ruby中(如自我语言,这方面的先驱,和 通常,您可以从中获取其名称的语言 缩写消息调用" self"省略提及" self"。 例如,对于" self.foo"你可以写简单的" foo"。但在 Smalltalk,你不能缩写" self foo"通过写简单" foo"。 这使得编写和阅读Ruby代码成为一个主要经济体。

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