5.15. Przeszukiwanie hasza przy użyciu wyrażeń regularnych
Podziękowania dla Bena Giddingsa
Problem
Chcemy znaleźć w danym haszu wszystkie klucze i (lub) wartości czyniące zadość pewnemu wyrażeniu regularnemu.
Rozwiązanie
Najprościej można to zrobić, tworząc osobne tablice kluczy i wartości i przeszukując je z użyciem wspomnianego wyrażenia regularnego:
h = { "pluskwa" => "owad", "kawa" => "plantacja", "osa" => "owad", "pliszka" => "ptak" } h.keys.grep /p/ # => ["pluskwa", "pliszka"] h.values.grep /p/ # => ["plantacja", "ptak"]
Przeszukiwanie samych wartości nie daje jednak żadnej informacji co do tego, z jakimi kluczami wartości te są powiązane. Jeżeli informacja ta jest istotna, lepszym rozwiązaniem jest użycie iteratora Hash#each ...
Get Ruby. Receptury now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.