Porte Bonheur

心穏やかなひと時を

Ruby 条件分岐

if
もしこの条件に一致(true)するならこの処理を行うと言う記述。条件分岐と呼ばれている。
一致しなければfalse
実際のWebサービスでは例えば「5000円以上の購入で送料無料」
「ある特定の商品にだけクーポンを利用可能にする」などといった場面で利用されている。
また、elseやelsifを組み合わせることにより、単一条件ではなく複数条件を使って処理を切り替えることも可能です。
例えば「5000円以上の購入で送料無料、3000円以上の購入で送料半額」といった場合には複数条件が用いられます。』
(Rubyでは条件式の後のthenは省略可能)
 
 
比較演算子
>  何々より大きい
<  何々より小さい
>=  何々以上
<=  何々以下
==  何々と等しい
!=  何々と等しくない
 
論理演算子
&&  AND
||  OR
!  NOT
 
基本的な書き方
if [条件式] then
処理内容
end
 
 
等しい 場合は==
site = "Porte Bonheur"
if site == "Porte Bonheur"
puts "このサイトはPorte Bonheurです"
end
 
等しくない 場合は!=
site = "Some other site"
if site != "Porte Bonheur"
puts "このサイトはPorte Bonheurではありません"
end
 
○○以上>=、以下<=
bloodorange = 510
 
if bloodorange >= 500
puts "ブラッドオレンジは500円以上です"
end
 
if bloodorange <= 500
puts "ブラッドオレンジは500円以下です"
end
 ↓ 実行結果
ブラッドオレンジは500円以上です
(bloodorange = 510 を490にすると、実行結果は「ブラッドオレンジは500円以下です」と表示)
 
else
if文において条件に合致しなかった場合に実行したい処理を記述
もしこの条件に一致する場合はこの処理を行い、そうでない場合はこの処理を行う
 
基本的な書き方
if [条件式]
条件式がtrueの場合の処理内容
else
条件式がfalseの場合の処理内容
end
 
site = "Some other site"
if site == "Porte Bonheur"
puts "このサイトはPorte Bonheurです"
else
puts "このサイトはPorte Bonheurではありません"
end
 
2つ以上の条件
tall = 180
 
if tall >= 170 && tall <= 190
  puts "身長は170以上190以下です。"
end
 
#出力結果=>身長は170以上190以下です。
 
elsif
elsifを使用する事によって「もしこの条件に一致する場合」を複数設定する事も可能。
ifにおける条件式 及び elsifにおける条件式に当てはまらない場合に実行される。
ifとelseの間に挟む
(PHPなど他の言語では「else if」や「elseif」などの表記が使用されますが、Rubyでは「elsif」となるので注意)
 
if 条件式1 [then]
  条件式1がtrueの場合の処理内容
elsif 条件式2 [then]
  条件式2がtrueの場合の処理内容
else
  条件式1,2に当てはまらない場合の処理内容
end
 
water = "60 degrees celsius"
deg = water.to_i
if deg < 40
     puts "Cold."
elsif 40 <= deg && deg < 70
     puts "Hot."
else
     puts "Too hot!"
end
 
unless
条件式が正しくない場合
 
例:変数 sample が 5ではない場合 処理を実行する
 
unless sample == 5
     処理内容
end
 
case
ある変数の値が●の場合」のような条件分岐が3つ以上続く場合
(処理、whenをカンマ区切りで記述することで複数の値を指定できる)
case文を使用する時は、「case 変数名」と書き、続けて「when」により分岐を行い、最後に「end」でしめる。
 
sample = 1
case sample
  when 1
  処理1
  when 2
  処理2
end
 
広告を非表示にする