Как искать массив в Ruby? - PullRequest
       2

Как искать массив в Ruby?

42 голосов
/ 15 октября 2010

Скажем, у меня есть массив строк

arr = ['sandra', 'sam', 'sabrina', 'scott', 'mark', 'melvin']

Как мне искать этот массив так же, как если бы я был активным объектом записи в Rails.Например, запрос "sa" вернет ['sandra', 'sam', 'sabrina'].

Спасибо!

Ответы [ 4 ]

61 голосов
/ 15 октября 2010
arr.grep(/^sa/)
25 голосов
/ 15 октября 2010
>> arr.select {|s| s.include? 'sa'}
=> ["sandra", "sam", "sabrina"]
9 голосов
/ 15 октября 2010

Комбинация select метода и регулярного выражения будет работать

arr.select {|a| a.match(/^sa/)}

Этот ищет префиксы, но его можно заменить на подстроки или что-то еще.

2 голосов
/ 15 октября 2010
a.select{|x|x[/^sa/]}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...