基本上,我试图检查我的6个值是否相同。我试着把它们串起来:
if val1 == val2 == val3 == val4 == val5 == val6
#...
end
但这错误了。这可能使用另一种方法吗? 感谢
答案 0 :(得分:11)
试试这个:
if [val1, val2, val3, val4, val5, val6].uniq.count == 1
#...
end
如果你想获得幻想,你可以试试这个
unless [val2, val3, val4, val5, val6].find{ |x| x != val1 }
# ...
end
一旦找到不等于val1
的元素,上面的内容就会停止,否则,该块将被执行。
答案 1 :(得分:2)
一种可爱的方式:
[val1,val2,val3,valN].uniq.size == 1
更平淡无奇的方式:
[val2,val3,valN].all?{ |x| x == val1 }
答案 2 :(得分:2)
如果有任何机会Fixnum,这个性感的线会起作用:
if val1 == val2 & val3 & val4 & val5 & val6
# ...
end
如果没有,那么这种脂肪适用于任何类型
if [val1] == [val2] & [val3] & [val4] & [val5] & [val6]
# ...
end