惯用的红宝石过滤器为零或空?

前端之家收集整理的这篇文章主要介绍了惯用的红宝石过滤器为零或空?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一种更为惯用的方法来过滤掉数组的零或空的元素.

我有很多形式的方法

def joined
    [some_method,some_other_method].compact.reject(&:empty?).join(' - ')
end

这将得到some_method和some_other_method的结果,并且只返回非零(一个非常小的本质上等同于reject(&:nil?))和非空的一个.

Array或Enumerable中有什么可以在一个镜头中获得相同的东西吗?

解决方法

在Rails中,您可以拒绝(&:blank?),或者等同地选择(&:present?).

如果这不是一个Rails应用程序,并且你做了很多,我建议你定义你自己的帮助字符串或其他任何你要过滤.

class String
  alias :blank? :empty?
end

class NilClass
  def blank?
    true
  end
end
原文链接:https://www.f2er.com/ruby/272083.html

猜你在找的Ruby相关文章