2012-01-26 12 views

Odpowiedz

42

Hash zawiera Enumerable, dzięki czemu można użyć wielu metod tego modułu do przechodzenia przez skrót. Posiada również poręczny tej metody:

hash.has_value?(value_you_seek) 

znaleźć klucz związany z tym wartość:

hash.key(value_you_seek) 

Ten API documentation for Ruby (1.9.2) powinny być pomocne.

+0

nie przechodzić zagnieżdżonych skrótów – nathanengineer

1

Klasa Hash ma metodę select, która zwróci nowy skrót pozycji, dla których blok jest prawdziwy;

h = { "a" => 100, "b" => 200, "c" => 300 } 
h.select {|k,v| v == 200} #=> {"b" => 200} 

W ten sposób będziesz szukać według wartości i zdobądź klucz!

+0

Dlaczego to kiedy Hash został zbudowany w metodach? – max

-2

Jeszcze krótsza wersja, że ​​można użyć byłoby hash.values

0

Podczas gdy Hash#has_key? prace, ale jak pisał here Matz, została zastąpiona Hash#key?. Metoda

Hash informuje, czy dany klucz jest obecny, czy nie.

hash.key?(:some_key) 
0

Jeśli masz hash.values, masz teraz tablicę.

Na tablicach można wykorzystać enumerable metodę wyszukiwania include?

hash.values.include?(value_you_seek) 
Powiązane problemy