在 Ruby 中,像许多语言一样,方法的参数不会自动分配为实例变量。
这有效:
def initialize(a)
@a = a
end
这不会:
def initialize(@a)
end
例如,在 CoffeeScript 中,这是有效的:
constructor: (@name) ->
Ruby 中还有很多其他语法糖,例如||=
运算符、&
符号上的一元等。有什么原因,技术或其他原因,为什么这个糖不是设计的一部分?
编辑
问题的范围不限于initialize
.
在 CoffeeScript 你也可以做
class Foo
baz: (@bar) ->