Ruby if構文を使用する

  • 作成日 2021.08.07
  • 更新日 2022.08.08
  • Ruby
Ruby if構文を使用する

Rubyで、if構文を使用するサンプルコードを記述してます。rubyのバージョンは2.7.2を使用してます。

環境

  • OS windows10 pro 64bit
  • ruby 2.7.2p137

if構文

if文は、rubyでは以下のように使用することが可能です。

if 条件
  処理1
elsif
  処理2
else
  処理3
end

以下は、if構文を使用したサンプルコードとなります。

x = 1

if x == 1
    p "xは1" # str = "xは2"
elsif x == 2
    p "xは2"
else
    p "xは1と2以外"
end

また、rubyのif文は式として扱えるので、以下のように記述することも可能です。

x = 1

str = if x == 1
    "xは1"
elsif x == 2
    "xは2"
else
    "xは1と2以外"
end

p str
# "xは1"

unless

また、if not としてunlessを使用することも可能です。

x = 1

str = unless x == 1
    "xは1"
else
    "xは1と2以外"
end

p str
# "xは1と2以外"

三項演算子

三項演算子を使用して、一行で記述することも可能です。
パフォーマンスは、if文とより少し良さそうです。

x = 1

p x == 1 ? "xは1" : "xは1以外"
# "xは1"

x = 2

p x == 1 ? "xは1" : "xは1以外"
# "xは1以外"

【参考】 三項演算子とif文を1億回実行した結果

             user     system      total        real
#三項演算子   7.641000   0.000000   7.641000 (  7.632914)
#if          7.875000   0.000000   7.875000 (  7.898420)

後置if

また、真のみであれば、後置if(if修飾子)で一行で記述することもできます。

x = 1

p "xは1" if x == 1
# "xは1"