1. ホーム
  2. ruby-on-rails

[解決済み] 空文字列またはnil-value文字列のテスト [重複].

2022-09-05 14:08:16

質問

Rubyで条件付きで変数を設定しようとしています。 変数がnilか空(長さ0の文字列)の場合に設定したいのです。 以下のように思いつきました。

variable = id if variable.nil? || (!variable.nil? && variable.empty?)

これは動作しますが、私にはとてもRubyらしいとは思えません。 もっと簡潔に表現する方法はないでしょうか?

どのように解決するのですか?

2番目の節では !variable.nil? チェック-if 評価がその時点に達していれば variable.nil は偽であることが保証されます (なぜなら 短絡的 ).

これで十分でしょう。

variable = id if variable.nil? || variable.empty?


Ruby on Railsで作業している場合。 Object.blank? はこの問題を正確に解決してくれます。

オブジェクトは、false、empty、または空白文字列であれば空白となります。例えば "" , " " , nil , [] そして {} はすべて空白です。