当尝试将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子句中的代码块。我公然滥用||操作
答案 0 :(得分:4)
您正在使用=
分配运算符。您希望使用==
相等运算符。您的代码应如下所示:
unless @X == 0 || @Y == 0 || @Z == 0
...
end
答案 1 :(得分:2)
您应该在==
或if
子句中使用双等号(unless
)进行比较,而不是单个等号(=
)。
答案 2 :(得分:0)
特别是当您想要与零进行比较时,ruby中有一个内置命令,比执行== 0
更快。
unless @x.zero? or @y.zero? or @z.zero?
...
end
您可以在此处使用||
或or
。