ben*_*izi 18 ruby idioms enumerable
我正在寻找一种更惯用的方法来过滤掉数组中的空元素或空元素.
我有很多形式的方法:
def joined
[some_method, some_other_method].compact.reject(&:empty?).join(' - ')
end
Run Code Online (Sandbox Code Playgroud)
这将取和的结果,some_method
并且some_other_method
仅返回非零(compact
基本上等于reject(&:nil?)
)和非空的一个().
在Array或Enumerable中有什么可以一次性获得同样的东西吗?
Ale*_*x D 17
在Rails中,您可以做到reject(&:blank?)
,或者等效select(&:present?)
.
如果这不适用于Rails应用程序,并且你做了很多,我建议你定义自己的帮助程序String
或者你正在过滤的其他任何东西.
class String
alias :blank? :empty?
end
class NilClass
def blank?
true
end
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7734 次 |
最近记录: |