Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Javaプログラマーが学ぶRuby基礎/Rubyの条件分岐

概要

Rubyの条件分岐について。

構文

以下の構文で分岐処理を扱うことが出来ます。

case オブジェクト
when1の場合 then
  処理
when2の場合 then
  処理
when3の場合 then
  処理
else
  その他の処理
end

※thenは省略可

caseがJavaのswitch
whenがJavaのcase
elseがJavaのdefault
にあたりますね。

Javaとの差異

複数条件の指定が可能
case オブジェクト
when1_1の場合,値1_2の場合 then
  処理
when2_2の場合,値2_2の場合 then
  処理
end
Javaは数値とchar型のみ指定可能だがRubyはオブジェクトの指定が可能。
Rubyのcase文は範囲指定が可能
case 数値オブジェクト
when 1..5 then
  処理
when 6,7 then
  処理
end

サンプル

Rubyコード
def get_weekday_or_weekend(day_number)
	case day_number
	when 1..5
		"平日"
	when 6,7
		"土日"
	else
		"不正な曜日"
	end
end

days = [1,2,3,4,5,6,7,8]

days.each {|day|
	p get_weekday_or_weekend(day)
}
出力
"平日"
"平日"
"平日"
"平日"
"平日"
"土日"
"土日"
"不正な曜日"