我得到错误undefined variable,我知道如果用作布尔值nil,则评估为:false
if y
puts "Something"
end
未定义的变量不等于 nil。
未定义的实例变量返回 nil(同样,如果它未定义)。
y引发异常
@y返回零
不,你会得到一个错误undefined local variable or method。但是如果你想检查是否定义了某些东西,你可以使用defined?这样的方法
if defined?(my_var)
print 'defined'
else
print 'not defined'
end
这有一点点皱纹。试试这个:
if 5 == 0
y = 'hi'
end
puts "hello" if y
y已在if块中“定义”。删除该块,这会产生错误。