基本的に、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