Monday, November 24, 2008

Buscando en una hash utilizando expresiones regulares

Un pequeño truco que puede ser útil, súpongamos que tenemos una tabla hash de la siguiente manera:

my_hash =  { "foo1" => 666, 
              "foo2" => "the number of the beast", 
              "name" => "Satan"} 

Ahora, para obtener las llaves "foo1" y "foo2" utilizamos la función grep del modulo Enumerable:

my_hash.keys.grep /foo/
#["foo1", "foo2"]

Para obtener los valores, de cada entrada de forma rapida:

my_hash.keys.grep(/foo/).each{|f| puts my_hash[f]}
#666
#the number of the beast