rails6 if文の1つ変数にある「or」句を配列にまとめる

rails6 if文の1つ変数にある「or」句を配列にまとめる

Rubyでif文の1つ変数にある「or」句を配列にまとめるまでの手順を記述してます。Railsのバージョンは6.1.3を使用してます。

環境

  • OS CentOS 7.9.2009 (Core)
  • Ruby 3.0.0
  • Rails 6.1.3

配列にまとめる

「||」を使用した場合は、以下のに1つの変数に対して、複数の条件を追加する場合、コードがわかりにくくなります。

hoge = "val1"

if hoge == "val1" || hoge == "val2" || hoge == "val3"
  p "true"
else
  p "false"
end

railsの場合、「active_support」の「.in?」が使用できるので以下のように配列にまとめて記述することが可能です。

require "active_support/all"

hoge = "val1"

if hoge.in?(["val1", "val2", "val3"])
  p "true"
else
  p "false"
end