【結論】
・case文とは、条件式の一つ。
複数の候補の中から、
一致する場合の処理を行う。
・IF文では、ture/falseしか表現出来ないので、
内容によっては、case文の方が
可読性が高くなるケースがある。
・3つ以上の候補の中から、
合致する値を探す様な
条件式を組む場合に有用である。
【目次】
【本題】
case文について
case文とは、条件式の一つです。
指定した値を、複数の候補の中から比較して行き、
合致する値の処理を実行する条件式です。
num = 1 case num when 1 puts "A" when 2 puts "B" when 3 puts "C" else puts "D" end => "A"
IF文との使い分け
条件式の代表例として「IF文」が存在しますが、
case文は、IF文では可読性が落ちる様なコードを
見やすくしてくれます。
例えば、先ほどのコードをIF文で書くと、下記の様になります。
num = 1 if num === 1 puts "A" elsif num === 2 puts "B" elsif num === 3 puts "C" else puts "D" end => "A"
※case文の評価は「==」でなく「===」だと Twitterよりご指摘頂いたので修正しました
先ほどのコードだと、変数numは一度の記述だけで良かったですが、
今回は条件式の度に記述する必要があります。
以上のことから、一つの変数を、3つ以上の候補と比較して
合致するか判定する条件式を組むのであれば、
case文の方が、可読性は高くなると言えます。
《今日の学習進捗(3年以内に10000時間に向けて)》
学習開始からの期間 :136日
今日までの合計時間:1315h
一日あたりの平均学習時間:9.7h
今日までに到達すべき目標時間:1242h
目標との解離:73h
「10,000時間」まで、
残り・・・「8685時間!」