November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Dana jest struktura, wykorzystująca metody modułu Enumerable, lecz iterator #each dla tej struktury działa niezgodnie z oczekiwaniami. Ponieważ wszystkie metody modułu Enumerable skonstruowane są w oparciu o metodę each, wszystkie one wydają się bezużyteczne.
Oto konkretny przykład — prosta tablica:
array = %w{bob loves alice}
array.collect { |x| x.capitalize }
# => ["Bob", "Loves", "Alice"]
Chcemy, by w odniesieniu do tej tablicy metoda collect udostępniała elementy w kolejności od ostatniego do pierwszego, niczym hipotetyczna metoda reverse_collect:
array.collect_reverse { |x| x.capitalize }
# => ["Alice", "Loves", "Bob"]
Zdefiniowanie nowej metody reverse_collect ...