我得到错误undefined variable,我知道如果用作布尔值,nil则进行评估false:
if y
puts "Something"
end
Run Code Online (Sandbox Code Playgroud)
不,你会收到一个错误undefined local variable or method.但是,如果要检查是否定义了某些内容,可以使用这样的defined?方法
if defined?(my_var)
print 'defined'
else
print 'not defined'
end
Run Code Online (Sandbox Code Playgroud)
小智 6
这上面有一个轻微的皱纹。尝试这个:
if 5 == 0
y = 'hi'
end
puts "hello" if y
Run Code Online (Sandbox Code Playgroud)
y已在if块中“定义”。删除该块会产生错误。