なぜ次のように出力されますか?Rubyで数値比較を行う方法は?
some_value = 100
case some_value
when some_value <= 200
puts "less than 200"
else
puts "not less than 200"
end
なぜ次のように出力されますか?Rubyで数値比較を行う方法は?
some_value = 100
case some_value
when some_value <= 200
puts "less than 200"
else
puts "not less than 200"
end
case...when...end
コンストラクトは、一致をチェックするために===
を使用しています。あなたが構築物はif...else...
のように動作させるためにcase
後の値を省略することができます
case 100
when some_value <= 200 # when (some_value <= 200) === 100, which is (true === 100), which doesn't match
puts "less than 200"
else
puts "not less than 200"
end
:
あなたのコードは、として評価されます。
some_value = 100
case
when some_value <= 200
puts "less than 200"
else
puts "not less than 200"
end
どのように "<="を評価しますか? – 4thSpace
単に 'case some_value'を' case'に置き換えてください。 –
@NilsLandtはい、ちょうどそれが追加されました。 –
この場合、「if ... else」ブロックが読みにくくなることはありませんか? – spickermann