先日の代入記事の発展編
環境
rails (5.2.2) activesupport (= 5.2.2)
presenceとは
presenceメソッドは、present?がtrueの場合は自身のレシーバを返し、falseの場合はnilを返します。 - Active Support コア拡張機能 - Rails ガイド - presence
使い方
value1
value2
value3
があり、1から順に入っていれば値を result
に代入したい場合
result = value1.presence || value2.presence || value3.presence
||
は nil の場合右式の評価値を使うので左から順に評価されていく。
注意点
presence
は present?
が trueであれば値を返すため ""
、 []
、 {}
は false扱いになるので、空文字などの空の値を評価したい場合などは注意が必要。