ruby代码
def something
p 'hellp something'
'hello'
end
p something + 'xx'
p '-----------'
something = something + 'xx'
最后一次代码运行错误:
test01.rb:11:在
<main>': undefined method
+'中为nil:NilClass(NoMethodError)
这是我对最后一段代码的理解:
我不知道我的理解是否正确。
答案 0 :(得分:0)
在红宝石中,一切都是一个阶级。
正在弄乱你的代码的行是something = something + 'xx'
,此时编译器将按以下顺序混合所有内容。
something
被赋予nil
值(来自NilClass)something
不再与之前定义的方法something
相关联,而是与步骤#1中定义的nil对象相关联。