我無法確定什麼是錯用下面的Ruby內聯救援碼爲什麼a = b解救一個錯誤但救援stmt不是?
def test_check()
p "first st"
t = 5 * lsdj rescue return false
p "second"
end
p test_check
這是給一個錯誤消息syntax error, unexpected kFALSE, expecting kEND
但如果我刪除賦值語句它會正常工作(返回false)。
def test_check()
p "first st"
5 * lsdj rescue return false
p "second"
end
如果出了什麼問題紅寶石內嵌救援的正確語法是什麼?
+1。一個非常好的問題。人們會希望修飾符規則在兩種情況下都能得到相同的解析,並且對此的回答會遇到很多關於Ruby爲什麼會這樣的問題。也許只有馬茨知道完整的答案,但我已經在下面貢獻了我的理解。 – DigitalRoss 2013-02-27 22:52:58