我注意到這在Ruby的If語句中有點怪異(我認爲)。例如:奇怪的紅寶石如果陳述問題
my_number = nil
if my_number < 3
'number is less than 3'
end
很明顯,當你運行這段代碼時,你會得到一個「Fixnum與nil失敗的比較」錯誤。這裏有一些奇怪的東西。如果我在If語句中稍作修改以檢查是否爲零,則它工作正常。示例:
my_number = nil
if my_number && my_number < 3
'number is less than 3'
end
添加對nil的檢查使其不會崩潰。這可能聽起來很愚蠢,但我無法弄清楚這是爲什麼。它不應該仍然會拋出一個錯誤?
感謝任何能解釋這一點的人。 :) 謝謝!