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

Определение того, содержит ли массив строк определенную подстроку в рубине

У меня есть простой рубиновый вопрос. У меня есть массив строк. Я хотел бы определить, содержит ли этот массив подстроку любой из строк. В качестве примера

a = ['cat','dog','elephant']
a.to_s.include?('ele')

Это лучший способ сделать это?

Спасибо.

4b9b3361

Ответ 1

a.any? должен выполнить задание.

> a = ['cat','dog','elephant']
=> ["cat", "dog", "elephant"]
> a.any? { |s| s.include?('ele') }
=> true
> a.any? { |s| s.include?('nope') }
=> false

Ответ 2

Вот еще один способ: если вы хотите получить затронутый строковый элемент.

>  a = ['cat','dog','elephant']
=> ["cat", "dog", "elephant"]
> a.grep(/ele/)
=> ["elephant"]

если вы просто хотите только логическое значение.

> a.grep(/ele/).empty?
=> false # it return false due to value is present

Надеюсь, это полезно.