p b #undefined local variable or method b for main:Object
a = nil
if a and (b=3)
do_something_with b
end
p b # nil
为什么 bnil
在执行 if 块后获取值,而预期结果是 undefined local variable or method b for main:Object
,Ruby 是否nil
事先将所有变量初始化到内存中?
与以下代码相同的情况
if nil
bb = 10
end
p bb # nil
有人请说明 ruby 如何初始化变量以及在这种情况下发生了什么,谢谢