web-dev-qa-db-fra.com

Comment rechercher un tableau dans Ruby?

Disons que j'ai un tableau de chaînes

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

Comment rechercher ce tableau comme je le ferais pour un objet d'enregistrement actif dans Rails. Par exemple, la requête "sa" retournerait ['sandra', 'sam', 'sabrina'].

Merci!

42
Tim
arr.grep(/^sa/)
61
Jörg W Mittag
>> arr.select {|s| s.include? 'sa'}
=> ["sandra", "sam", "sabrina"]
26
Nick Moore

Une combinaison de la méthode select et de l'expression régulière fonctionnerait

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

Celui-ci recherche des préfixes, mais il peut être changé en sous-chaînes ou autre chose.

10
Nikita Rybak
a.select{|x|x[/^sa/]}
2
ghostdog74