みんなのちからになりたい

コピペでブログラムつくっていきたい

caseがフォールスルーじゃないの

レシピブック最初から読み直してるんだけど、caseがフォールスルーじゃないってちっこく書いてあった。普通にフォールスルーするもんだと思ってた。

[1, 2, 3, 4, 5].each { |e|
  case e
  when 1
  when 2
  when 3
    p e
  else
    p "#{e}:else"
  end
}

3
"4:else"
"5:else"

フォールスルーしない。

[1, 2, 3, 4, 5].each { |e|
  case e
  when 1, 2
    p "#{e}:1, 2"
  when 3
    p e
  else
    p "#{e}:else"
  end
}

"1:1, 2"
"2:1, 2"
3
"4:else"
"5:else"

これだと大丈夫。
勉強になる。