gpt4 book ai didi

ruby - 用于 nil-or-empty 的惯用 Ruby 过滤器?

转载 作者:数据小太阳 更新时间:2023-10-29 06:33:21 26 4
gpt4 key购买 nike

我正在寻找一种更惯用的方法来过滤掉数组中的 nil 或空元素。

我有很多形式的方法:

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

这将采用 some_methodsome_other_method 的结果,并仅返回非零的结果(compact 是本质上等同于 reject(&:nil?)) 和非空。

Array 或 Enumerable 中是否有任何东西可以一次获得相同的东西?

最佳答案

在 Rails 中,您可以执行 reject(&:blank?),或者等效地,select(&:present?)

如果这不是用于 Rails 应用程序,并且您经常这样做,我建议您在 String 或您要过滤的任何其他内容上定义自己的帮助器。

class String
alias :blank? :empty?
end

class NilClass
def blank?
true
end
end

关于ruby - 用于 nil-or-empty 的惯用 Ruby 过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13500104/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com