你能检查一下ruby on rails中同一行的多个值是否相同?

时间:2012-11-13 23:12:08

标签: ruby-on-rails ruby

基本上,我试图检查我的6个值是否相同。我试着把它们串起来:

if val1 == val2 == val3 == val4 == val5 == val6
  #...
end

但这错误了。这可能使用另一种方法吗? 感谢

3 个答案:

答案 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