November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Chcemy wyposażyć tworzoną klasę we wszystkie użyteczne mechanizmy iteracji typowe dla tablic języka Ruby (sort, detect, inject itp.); niestety, nasza klasa nie może być subklasą klasy Array. Czy musimy wszystkie te iteratory implementować samodzielnie?
Na szczęście nie. Wystarczy zaimplementować dla nowej klasy metodę each i dołączyć do tej klasy moduł Enumerable. Wszystkie 22 implementowane przez niego metody iteracyjne funkcjonują na bazie metody each odnośnej klasy.
Poniżej definiowana jest klasa przechowująca wewnętrznie listę tablic. Dzięki odpowiednio skonstruowanej metodzie each lista ta może być przez użytkownika traktowana jako pojedyncza ...