Nowości i zmiany w Ruby 1.9 #6 - iteratory (klasa Enumerator)
6 komentarzy | Kategorie: Ruby, Techblog | trackbackTagi: 1.9 enumerator ruby ruby1.9
Wpis ten jest jedną z części cyklu pt "Nowości i zmiany w Ruby 1.9". Pełną listę wpisów znajdziesz pod adresem http://radarek.jogger.pl/2008/11/30/nowosci-i-zmiany-w-ruby-1-9/.
Zacznę od (jak mi się wydaje) najważniejszej zmiany. Chodzi mianowicie o zewnętrzne iteratory, których do tej pory jakby nie było. Napisałem jakby, ponieważ mogliśmy skorzystać z klasy Generator, która potrafiła przekonwertować wewnętrzny iterator na zewnętrzny. Niestety było to niewygodne, a przy okazji dość niewydajne (implementacja tej klasy jest oparta na kontynuacjach - sic!). Zewnętrzne iteratory przydają się podczas iteracji kilku kolekcji na raz, zwłaszcza jeśli nie posiadają dostępu indeksowego.