0
時不能設置變量相同的名稱,方法名考慮下面的代碼ruby koan? - 映射
def salt
[]
end
def pepper
salt = salt.map{ |grain| 'ok' }
end
給出以下結果:
NoMethodError (undefined method `map' for nil:NilClass):
爲什麼這些情況正是導致錯誤?這是意想不到的。
有趣。他們這樣做,似乎很奇怪,而不是計算後設置。但它適用於其他情況,例如定義無效變量或例如:'a,b = [x]',所以a == x和b == nil – 2012-03-18 05:20:10
@PeterEhrlich只要您執行了'foo ='' ,將定義'foo'。這意味着像'foo = foo'這樣的結果'foo'是'nil'而不是'NameError'。 – 2012-03-18 05:24:28