Ruby のお勉強 - case ~ when -
公開日:2014-12-29 更新日:2019-05-13
[Ruby]
case ~ when
for i in 0..3
case i
when 0
p 0
when 1
p 1
else
p "else"
end
end
0
1
"else"
"else"
他の言語で言うところの switch。when 毎に break を入れる必要はない。for i in 0..3
case i
when 0 then p 0
when 1 then p 1
else p "else"
end
end
0
1
"else"
"else"
then を使うと when の処理を1行で続けて書ける。for i in 'aa'..'ae'
case i
when 'aa'
p 'AA'
when 'ab'
p 'BB'
else
p "else"
end
end
"AA"
"BB"
"else"
"else"
"else"
文字列でも分岐できる。for i in 1..3
case true
when i == 1
p '1'
when i >= 2
p '2 or 3'
end
end
"1"
"2 or 3"
"2 or 3"
case と when の値が一致しているかどうかなので、このような書き方もできる。