基本上,我正在尝试检查6个值是否相同。 我尝试将它们串起来:
if val1 == val2 == val3 == val4 == val5 == val6
#...
end
但是这个会出错。有没有其他的方法可以实现呢? 谢谢。
基本上,我正在尝试检查6个值是否相同。 我尝试将它们串起来:
if val1 == val2 == val3 == val4 == val5 == val6
#...
end
试一试:
if [val1, val2, val3, val4, val5, val6].uniq.count == 1
#...
end
如果你想要更加花哨一些,你可以尝试这个方法。
unless [val2, val3, val4, val5, val6].find{ |x| x != val1 }
# ...
end
一旦找到一个与val1
不相等的元素,上述过程将停止,否则将执行该块。
一种可爱的方式:
[val1,val2,val3,valN].uniq.size == 1
[val2,val3,valN].all?{ |x| x == val1 }
如果值恰好为Fixnum类型,那么这个性感的代码行将起作用:
if val1 == val2 & val3 & val4 & val5 & val6
# ...
end
if [val1] == [val2] & [val3] & [val4] & [val5] & [val6]
# ...
end