case文による条件式

f:id:ryoutaku_jo:20190422205724p:plain

【結論】

・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時間!」