Ruby compacts序列只有在它具有nil值时,如何压缩“”空值
答案 0 :(得分:7)
这样的事情:
a = [1, nil, 2, '', 3]
a.reject{|x| x == '' || x.nil?} # => [1, 2, 3]
答案 1 :(得分:3)
对塞尔吉奥的一种类似方式:
irb(main):006:0> a = [1,nil,2,''] => [1, nil, 2, ""]
irb(main):007:0> a.reject!{|x| x.nil? || x == ''} => [1, 2]
答案 2 :(得分:3)
我知道这里没有Ruby on Rails标签,但如果您使用该框架,恕我直言的最佳解决方案是:
a = [1, nil, 2, '', 3]
a.select(&:present?)
#=> [1, 2, 3]
在普通的Ruby中,如果数组只能包含a.select { |x| x.empty? || x.nil? }
和String
,我会选择Sergio's answer或nil
。