惯用的红宝石过滤器为零或空?
发布时间:2020-12-16 19:51:34 所属栏目:百科 来源:网络整理
导读:我正在寻找一种更为惯用的方法来过滤掉数组的零或空的元素. 我有很多形式的方法: def joined [some_method,some_other_method].compact.reject(:empty?).join(' - ')end 这将得到some_method和some_other_method的结果,并且只返回非零(一个非常小的本质上等
我正在寻找一种更为惯用的方法来过滤掉数组的零或空的元素.
我有很多形式的方法: 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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |