Ruby

Rubyの条件分岐について解説

Rubyの条件分岐は、特定の条件に基づいてコードの実行フローを制御するために使用されます。条件分岐には、主にifelsifelseunless、およびcaseが使用されます。以下に、それぞれの使い方と例を示します。

if

if文は、条件が真 (true) の場合にコードを実行します。

構文

if 条件
  # 条件が真の場合に実行されるコード
end

age = 18

if age >= 18
  puts "You are an adult."
end

if-else

if-else文は、条件が真の場合と偽 (false) の場合に異なるコードを実行します。

構文

if 条件
  # 条件が真の場合に実行されるコード
else
  # 条件が偽の場合に実行されるコード
end

age = 17

if age >= 18
  puts "You are an adult."
else
  puts "You are a minor."
end

if-elsif-else

if-elsif-else文は、複数の条件を順に評価し、最初に真となる条件のコードを実行します。

構文

if 条件1
  # 条件1が真の場合に実行されるコード
elsif 条件2
  # 条件2が真の場合に実行されるコード
else
  # すべての条件が偽の場合に実行されるコード
end

score = 85

if score >= 90
  puts "Grade: A"
elsif score >= 80
  puts "Grade: B"
elsif score >= 70
  puts "Grade: C"
else
  puts "Grade: F"
end

unless

unless文は、条件が偽の場合にコードを実行します。if文の逆の動作をします。

構文

unless 条件
  # 条件が偽の場合に実行されるコード
end

number = -5

unless number > 0
  puts "The number is negative or zero."
end

elseを使った条件分岐

unless文でもelseを使って、条件が真の場合に実行されるコードを指定できます。

構文

unless 条件
  # 条件が偽の場合に実行されるコード
else
  # 条件が真の場合に実行されるコード
end

number = -5

unless number > 0
  puts "The number is negative or zero."
else
  puts "The number is positive."
end

case

case文は、特定の値に基づいて複数の条件を評価し、マッチする条件のコードを実行します。

構文

case 値
when 値1
  # 値が値1と一致する場合に実行されるコード
when 値2
  # 値が値2と一致する場合に実行されるコード
else
  # 値がいずれの値とも一致しない場合に実行されるコード
end

grade = 'B'

case grade
when 'A'
  puts "Excellent!"
when 'B', 'C'
  puts "Well done!"
when 'D'
  puts "You passed."
else
  puts "Better try again."
end

条件式と論理演算子

条件式には、論理演算子や比較演算子を使用できます。

  • 比較演算子:
    • == 等しい
    • != 等しくない
    • < より小さい
    • > より大きい
    • <= 以下
    • >= 以上
  • 論理演算子:
    • && AND
    • || OR
    • ! NOT

age = 20

if age >= 18 && age <= 25
  puts "You are eligible for the youth program."
else
  puts "You are not eligible for the youth program."
end

まとめ

Rubyの条件分岐を使用することで、プログラムの実行フローを制御し、異なる条件に基づいて適切な処理を実行することができます。

if文、unless文、case文を適切に使い分けることで、より柔軟で読みやすいコードを書くことができます。

スポンサーリンク

-Ruby