下面的代碼導致我的問題:紅寶石增量(+ =)引發錯誤未定義的方法 '+' 的零:NilClass
class Foo
def initialize(n=0)
@n = n
end
attr_accessor :n
def inc
n+=1
end
end
調用Foo.new.inc
提高NoMethodError: undefined method '+' for nil:NilClass
調用Foo.new.n
回報0
爲什麼Foo.new.inc
提出錯誤?我可以做Foo.new.n+=1
沒有問題。
那麼用'@ n'呢?或者'self.n'? – Ryan
'n + = x'擴展爲'n = n + x',其中* n被綁定爲局部變量*,因爲它出現在左側。 – user2864740