Ruby有没有Smalltalk没有的东西?除了Pascal / C外观和运算符优先级之外,该语言几乎是一对一的。
答案 0 :(得分:3)
Ruby拥有的东西和Smalltalk没有:
Ruby有mixins; Smalltalk没有。
Ruby允许向单个对象添加方法;在Smalltalk,所有 方法驻留在类中。
为方便起见,Ruby还有其他几种文字语法,而Smalltalk则没有。
在Ruby中,在Smalltalk中动态添加方法是实用且有用的,通常的做法是将方法和类视为静态。
Ruby在类定义中提供了强大的宏; Smalltalk提供没有 完全是宏。
在Ruby中(如自我语言,这方面的先驱,和 通常,您可以从中获取其名称的语言 缩写消息调用" self"省略提及" self"。 例如,对于" self.foo"你可以写简单的" foo"。但在 Smalltalk,你不能缩写" self foo"通过写简单" foo"。 这使得编写和阅读Ruby代码成为一个主要经济体。
Ruby不需要声明所有局部变量和 实例变量。