Ruby case whenの基本的な書き方
Rubyのcase
文は、他のプログラミング言語のswitch
文に似ています。以下に基本的な書き方を示します。
case 変数
when 値1
# 値1に一致したときの処理
when 値2
# 値2に一致したときの処理
else
# どの値にも一致しなかったときの処理
end
この構文では、case
の後に指定した変数の値が、when
の後に指定した値と一致するかどうかを順にチェックします。一致した場合、そのwhen
節の中のコードが実行されます。どの値とも一致しない場合、else
節のコードが実行されます。
例えば、次のように書くことができます。
x = 5
case x
when 1
puts "x is 1"
when 2
puts "x is 2"
else
puts "x is neither 1 nor 2"
end
このコードは、x
が1の場合は"x is 1"
を、2の場合は"x is 2"
を、それ以外の場合は"x is neither 1 nor 2"
を出力します。この例では、x
は5なので、"x is neither 1 nor 2"
が出力されます。このように、Rubyのcase
文を使うと、複数の値に対する条件分岐を簡潔に書くことができます。
Ruby case whenで複数の値を指定する
Rubyのcase
文では、when
節で複数の値を指定することができます。これにより、同じ処理を複数の値に対して適用することができます。以下にその書き方を示します。
case 変数
when 値1, 値2
# 値1または値2に一致したときの処理
else
# どの値にも一致しなかったときの処理
end
この構文では、when
の後にカンマで区切って複数の値を指定します。case
の後に指定した変数の値が、when
の後に指定したいずれかの値と一致するかどうかをチェックします。一致した場合、そのwhen
節の中のコードが実行されます。
例えば、次のように書くことができます。
x = 5
case x
when 1, 2
puts "x is 1 or 2"
else
puts "x is not 1 or 2"
end
このコードは、x
が1または2の場合は"x is 1 or 2"
を、それ以外の場合は"x is not 1 or 2"
を出力します。この例では、x
は5なので、"x is not 1 or 2"
が出力されます。このように、Rubyのcase
文を使うと、複数の値に対する条件分岐を簡潔に書くことができます。
Ruby case whenで値の範囲を指定する
Rubyのcase
文では、when
節で値の範囲を指定することができます。これにより、ある範囲の値に対して同じ処理を適用することができます。以下にその書き方を示します。
case 変数
when 値1..値2
# 値1から値2までの範囲に一致したときの処理
else
# どの値にも一致しなかったときの処理
end
この構文では、when
の後に範囲を指定します。case
の後に指定した変数の値が、when
の後に指定した範囲内にあるかどうかをチェックします。範囲内にある場合、そのwhen
節の中のコードが実行されます。
例えば、次のように書くことができます。
x = 5
case x
when 1..3
puts "x is between 1 and 3"
else
puts "x is not between 1 and 3"
end
このコードは、x
が1から3の範囲内にある場合は"x is between 1 and 3"
を、それ以外の場合は"x is not between 1 and 3"
を出力します。この例では、x
は5なので、"x is not between 1 and 3"
が出力されます。このように、Rubyのcase
文を使うと、値の範囲に対する条件分岐を簡潔に書くことができます。
Ruby case whenで配列を指定する
Rubyのcase
文では、when
節で配列を指定することができます。これにより、配列のいずれかの値に対して同じ処理を適用することができます。以下にその書き方を示します。
case 変数
when *配列
# 配列のいずれかの値に一致したときの処理
else
# どの値にも一致しなかったときの処理
end
この構文では、when
の後にアスタリスク(*
)を付けて配列を指定します。case
の後に指定した変数の値が、when
の後に指定した配列のいずれかの値と一致するかどうかをチェックします。一致した場合、そのwhen
節の中のコードが実行されます。
例えば、次のように書くことができます。
x = 5
array = [1, 2, 5]
case x
when *array
puts "x is in the array"
else
puts "x is not in the array"
end
このコードは、x
が配列array
のいずれかの値である場合は"x is in the array"
を、それ以外の場合は"x is not in the array"
を出力します。この例では、x
は5で、配列array
に含まれているので、"x is in the array"
が出力されます。このように、Rubyのcase
文を使うと、配列の値に対する条件分岐を簡潔に書くことができます。