Ruby で条件付きで変数を設定しようとしています。変数が nil または空 (長さ 0 の文字列) の場合に設定する必要があります。次の方法を思いつきました:
variable = id if variable.nil? || (!variable.nil? && variable.empty?)
動作はしますが、あまり Ruby らしくない気がします。上記をより簡潔に表現する方法はありますか?
ベストアンサー1
2番目の節はチェックを必要としません!variable.nil?
。評価がそのポイントに到達した場合、variable.nil
偽であることが保証されます(短絡)。
これで十分なはずです:
variable = id if variable.nil? || variable.empty?
Ruby on Railsを使っている場合は、Object.blank?
まさにこの問題を解決します:
オブジェクトが false、空、または空白文字列の場合、そのオブジェクトは空白になります。たとえば、、、、、
""
はすべて空白です。" "
nil
[]
{}