空の文字列をその場で nil に変換しますか?
概要
Rubyを使用して空の文字列をnilに変換する方法を探しています。空のスペースの文字列ができた場合は、次のようにすることができます
" ".strip!
これにより、空の文字列「」が得られます。
私ができるようになりたいのはこのようなことです。
" ".strip!.to_nil!
それ以外の場合、文字列が空でない場合、文字列は変更されません。これにより、空の文字列が nil に置き換えられます。 to_nil!文字列が .empty の場合、文字列を直接 nil に変更しますか?
ここで重要なのは、次のような割り当てを通じてではなく、直接それを実行したいということです。
f = nil if f.strip!.empty?
解決策
クリーンな方法は、プレゼンスを使用することです。
テストしてみましょう。
' '.presence
# => nil
''.presence
# => nil
'text'.presence
# => "text"
nil.presence
# => nil
[].presence
# => nil
{}.presence
# => nil
true.presence
# => true
false.presence
# => nil
このメソッドは Ruby on Rails v4.2.7 のものであることに注意してください。 https://translate.google.com/translate?hl=ja&sl=en&tl=ja&u=https://apidock.com/rails/Object/presence