检查数组的任何元素是否满足条件

可能重复:
检查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

链接地址: http://www.djcxy.com/p/25669.html

上一篇: Checking if any element of an array satisfies a condition

下一篇: Determine if string is in list in JavaScript