當試圖將NaN插入數據庫時,我試圖跳過計算某些數字。我的代碼如下:如果三個條件爲假,則執行代碼
unless @X = 0 || @Y = 0 || Z= 0 #Don't execute below code if any of the three values = 0
#Do some stuff with @X, @Y and @Z
end
我知道,X,Y和Z爲正整數,因爲他們應該的,但這種說法是不除非子句中觸發代碼塊。我公然濫用||嗎?運營商?
當試圖將NaN插入數據庫時,我試圖跳過計算某些數字。我的代碼如下:如果三個條件爲假,則執行代碼
unless @X = 0 || @Y = 0 || Z= 0 #Don't execute below code if any of the three values = 0
#Do some stuff with @X, @Y and @Z
end
我知道,X,Y和Z爲正整數,因爲他們應該的,但這種說法是不除非子句中觸發代碼塊。我公然濫用||嗎?運營商?
您正在使用=
賦值運算符。您希望使用==
等號運算符。您的代碼應該是這樣的:
unless @X == 0 || @Y == 0 || @Z == 0
...
end
工作,謝謝你指出我的錯誤。 – Chazu 2011-05-17 17:02:56
很高興提供幫助。如果它適合你,請接受答案。 (點擊複選標記) – andrewmitchell 2011-05-17 17:10:46
尤其是當你想與零比較,有一個內置在紅寶石命令,它比做== 0
更快。
unless @x.zero? or @y.zero? or @z.zero?
...
end
您可以使用||
或or
這裏。
'='是一個賦值運算符,你想要的是一個相等運算符:'==' – sled 2011-05-17 16:58:17
derp。這樣做,謝謝你迴應這樣一個愚蠢的問題。乾杯 – Chazu 2011-05-17 17:01:23