Rubyは nil 値を持つ場合にのみシーケンスを圧縮します。"" 空の値を圧縮するにはどうすればよいですか
質問する
304 次
3 に答える
7
このようなもの:
a = [1, nil, 2, '', 3]
a.reject{|x| x == '' || x.nil?} # => [1, 2, 3]
于 2012-06-19T12:28:02.763 に答える
3
セルジオと同様の方法:
irb(main):006:0> a = [1,nil,2,''] => [1, nil, 2, ""]
irb(main):007:0> a.reject!{|x| x.nil? || x == ''} => [1, 2]
于 2012-06-19T12:31:37.190 に答える
3
これにはRuby on Railsタグがないことは知っていますが、フレームワークを使用している場合、私見の最善の解決策は次のとおりです。
a = [1, nil, 2, '', 3]
a.select(&:present?)
#=> [1, 2, 3]
プレーンなRubyでは、Sergioの答え、または配列にsとsa.select { |x| x.empty? || x.nil? }
のみを含めることができる場合に行きます。String
nil
于 2012-06-19T15:37:40.227 に答える