5.14. Ekstrakcja fragmentów zawartości haszów
Problem
Mając dany hasz zawierający dużo elementów, chcemy wyekstrahować z niego tylko niektóre, ignorując pozostałe.
Rozwiązanie
Za pomocą metody Hash#select
można wybrać z hasza elementy spełniające pewien warunek. Załóżmy, że kluczami hasza są obiekty Time
reprezentujące daty, a wartością skojarzoną z kluczem jest liczba stron WWW odwiedzonych w danym dniu. Oto przykład takiego hasza z losowo wygenerowanymi danymi:
require 'time' click_counts = {} 1.upto(30) { |i| click_counts[Time.parse("2006-09-#{i}")] = 400 + rand(700) } p click_counts # => {Tue Sep 26 00:00:00 Europa Środkowa (czas stand.) 2006=>694, # Fri Sep 15 00:00:00 Europa Środkowa (czas stand.) 2006=>483, # Mon Sep 04 00:00:00 ...
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.