Подтвердить что ты не робот

Проверка того, удовлетворяет ли какой-либо элемент массива условию

Возможный дубликат:
проверить, существует ли значение в массиве в 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
4b9b3361

Ответ 1

Использовать Перечислить # any?

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

Он вернет true/false.