检查数组的任何元素是否满足条件
可能重复:
检查Ruby中数组是否存在值
我有这种方法,它通过一个字符串数组循环,并返回true,如果任何字符串包含字符串'狗'。 它正在工作,但多个返回语句看起来很混乱。 有没有更加雄辩的方式来做到这一点?
def has_dog?(acct)
[acct.title, acct.description, acct.tag].each do |text|
return true if text.include?("dog")
end
return false
end
使用Enumerable#any?
def has_dog?(acct)
[acct.title, acct.description, acct.tag].any? { |text| text.include? "dog" }
end
它将返回true
/ false
。
上一篇: Checking if any element of an array satisfies a condition