November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Chcemy zaimplementować metodę each dla nowo zdefiniowanej struktury danych, chcemy też przeprowadzić nietypową iterację po istniejącej strukturze.
Złożone struktury danych budowane są zwykle na bazie struktur podstawowych — haszów, tablic itp. — dla których metoda each jest zaimplementowana. Dla struktury złożonej wyłącznie z elementów skalarnych oraz takich podstawowych struktur implementację metody each można wyrazić w kategoriach implementacji tej metody dla poszczególnych struktur składowych.
Dla przykładu rozpatrzmy prostą strukturę drzewiastą. Każde drzewo składa się z pojedynczej wartości i listy jej poddrzew potomnych:
class Tree attr_reader :value def initialize(value) ...