43
誰かがRuby for variableでスイッチケースを使用する方法の例を提供できますか?Ruby on Railsスイッチ
誰かがRuby for variableでスイッチケースを使用する方法の例を提供できますか?Ruby on Railsスイッチ
ケース/ケースを参照すると仮定します。
case a_variable # a_variable is the variable we want to compare
when 1 #compare to 1
puts "it was 1"
when 2 #compare to 2
puts "it was 2"
else
puts "it was something else"
end
または
puts case a_variable
when 1
"it was 1"
when 2
"it was 2"
else
"it was something else"
end
EDITそうでないかもしれない、誰もが知っているが、どのような非常に便利ですが、あなたがcase文での正規表現を使用することができるということです
何か。
foo = "1Aheppsdf"
what = case foo
when /^[0-9]/
"Begins with a number"
when /^[a-zA-Z]/
"Begins with a letter"
else
"Begins with something else"
end
puts "String: #{what}"
ありがとうございます。 a_variableをparams [:id]に置き換えることはできますか? – glarkou
絶対に、同じタイプの変数を比較していることを確認してください。たとえば、 "1"は1に等しくありません。 "1" .to_iは1です(to_iは文字列を整数に変換します)。 params [:id]と整数を比較する場合は、 "case params [:id] .to_i"を実行する必要があります。 params [:id]を "case"でテストするのはちょっと奇妙に思えますが、あなたは何をしているのですか? –
ありがとうございます。それは本当に役に立ちました。私はそれが問題だと思う! – glarkou