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.