Ruby 1個の変数に複数ある「or」をまとめて記述する
Rubyで1個の変数に複数ある「or」をまとめて記述するまでの手順を記述してます。Rubyのバージョンは3.0.0となります。
環境
- OS CentOS 7.9.2009 (Core)
- Ruby 3.0.0
まとめて記述
「or」を使用した、以下のようなif文だと変数「hoge」を3度記述する必要があり、また、条件を追加する場合も、どんどん見にくくなります。
hoge = "val1"
if hoge == "val1" || hoge == "val2" || hoge == "val3"
p "true"
else
p "false"
end
rubyの場合、「.in?」を使用すると、変数「hoge」に対して、まとめて条件を記述することが可能です。
hoge = "val1"
if ["val1", "val2", "val3"].include?(hoge)
p "true"
else
p "false"
end
また、active_supportの「.in?」を使用してまとめることも可能です。
require "active_support/all"
hoge = "val1"
if hoge.in?(["val1", "val2", "val3"])
p "true"
else
p "false"
end
三項演算子使用
三項演算子を使用すると、1行にまとめることができます。
["val1", "val2", "val3"].include?(hoge) ? (p "true") : (p "false")
-
前の記事
gitlab ブランチの削除を行う 2021.04.05
-
次の記事
go言語 先頭・最後の文字列が一致するかを判定する 2021.04.05
コメントを書く