关于ruby:检查数组的任何元素是否满足条件

Checking if any element of an array satisfies a condition

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
check if value exists in array in Ruby

我有一个方法,它在字符串数组中循环,如果任何字符串包含字符串"dog",则返回true。它可以工作,但是多个返回语句看起来很混乱。有没有更雄辩的方法?

1
2
3
4
5
6
def has_dog?(acct)
  [acct.title, acct.description, acct.tag].each do |text|
    return true if text.include?("dog")
  end
  return false
end


使用可枚举的有吗?

1
2
3
def has_dog?(acct)
  [acct.title, acct.description, acct.tag].any? { |text| text.include?"dog" }
end

返回true/false