Iterowanie po hashu
each, map, select
Iterowanie po hashu to bezpłatna lekcja Ruby Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ruby Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ruby Academy zawiera 4 lekcji w sumie.
Iterowanie za pomocą each
Metoda each odwiedza każdą parę. Blok otrzymuje klucz i wartość.
scores = { math: 90, art: 80 }
scores.each do |subject, score|
puts "#{subject}: #{score}"
endeach_pair
each_pair jest aliasem each dla hashy. Należy użyć tego wariantu, który zapewnia większą czytelność.
h = { a: 1, b: 2 }
h.each_pair { |k, v| puts "#{k}=#{v}" }Iterowanie tylko po kluczach
each_key iteruje po kluczach, gdy wartości nie są potrzebne.
h = { name: "Ada", age: 36 }
h.each_key { |k| puts k }Iterowanie tylko po wartościach
each_value iteruje bezpośrednio po wartościach.
h = { a: 10, b: 20 }
total = 0
h.each_value { |v| total += v }
puts totalPrzekształcanie za pomocą map
map wywołane na hashu zwraca tablicę. Każda para jest przekazywana jako klucz i wartość.
prices = { pen: 2, book: 5 }
labels = prices.map { |item, p| "#{item}: $#{p}" }
puts labels.inspecttransform_values
transform_values zwraca nowy hash, w którym zmieniono każdą wartość, ale zachowano klucze.
prices = { pen: 2, book: 5 }
doubled = prices.transform_values { |p| p * 2 }
puts doubledtransform_keys
transform_keys zmienia klucze, zachowując wartości. Przydaje się na przykład do konwertowania napisów na symbole.
h = { "a" => 1, "b" => 2 }
puts h.transform_keys(&:to_sym)Filtrowanie za pomocą select
select (alias filter) zachowuje pary, dla których blok zwraca true, i zwraca nowy hash.
scores = { a: 90, b: 50, c: 70 }
passing = scores.select { |k, v| v >= 70 }
puts passingOdrzucanie par
reject działa przeciwnie do select. Usuwa pary, dla których blok zwraca true.
scores = { a: 90, b: 50 }
puts scores.reject { |k, v| v < 60 }Wyszukiwanie i zliczanie
find zwraca pierwszą pasującą parę jako tablicę. count z blokiem zlicza dopasowania.
h = { a: 1, b: 2, c: 3 }
puts h.find { |k, v| v == 2 }.inspect
puts h.count { |k, v| v.odd? }Sumowanie wartości
Połącz values z sum, aby obliczyć sumę, albo użyj each_with_object do niestandardowej agregacji.
cart = { apple: 3, pear: 5 }
puts cart.values.sumSzybki test
Sprawdź swoją wiedzę o iterowaniu po hashach.
Podsumowanie
Potrafi już Pan/Pani iterować po hashach:
each,each_key,each_valuemap,transform_values,transform_keysselect/rejectdo filtrowaniafind,counti sumowanie wartości
W następnej kolejności: wartości domyślne i scalanie.
h = { a: 1, b: 2, c: 3 }
puts h.select { |k, v| v.odd? }Często zadawane pytania
Czy lekcja „Iterowanie po hashu” jest bezpłatna?
Tak — pełny tekst „Iterowanie po hashu” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ruby Academy, przejdź na CoddyKit PRO. Kurs Ruby Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Iterowanie po hashu”?
each, map, select Ćwiczysz Ruby Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Ruby Academy?
Nie wymagamy żadnego doświadczenia. Ruby Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Iterowanie po hashu”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Ruby Academy?
Tak. Każda lekcja Ruby Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Symbole a napisy
- Tworzenie i odczytywanie hashy
- Iterowanie po hashu
- Wartości domyślne i scalanie