我想出了
ary.select{|v| v}
但是有更好的东西吗?
答案 0 :(得分:6)
您可以删除不喜欢的值:
ary - [ nil, false ]
在Ruby 2.2中,您还可以删除 falsey 值:
ary.select(&:itself)
尽管那并不是真的很短。
您也可以这样做:
ary.delete(nil)
ary.delete(false)
进行就地修改。
答案 1 :(得分:1)
有Array#compact
,但是只会删除nil
的值,如果您想更清楚地了解自己在这里所做的工作,则仅删除reject
,否则您的建议很漂亮惯用的。