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
爲什麼B如果塊的執行後,所獲得的價值nil
,而預期的結果將是undefined local variable or method b for main:Object
,是否紅寶石初始化事先存儲所有的變量nil
?變量中獲得初始化爲零
同樣的情況下,用下面的代碼
if nil
bb = 10
end
p bb # nil
有人請扔在紅寶石如何初始化變量,什麼是在這種情況下,要對一些輕,感謝
[爲什麼Ruby似乎會從case語句中提取變量聲明,即使該代碼路徑未執行?](http://stackoverflow.com/questions/12928050/why-does-ruby-seem - 從一個案件內的聲明 - e) – sawa 2013-03-06 06:44:40