我得到错误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
块中“定义”。删除该块,这会产生错误。