The Iterator Pattern allows sequential access to the elements of an aggregate object without exposing its underlying representation.
Groovy has the iterator pattern built right in to many of its closure operators, e.g. each and eachWithIndex as well as the for .. in loop.
For example:
Results in the output:
Another example:
Results in:
There are also special iterator patterns built-in to other operators such as the eachByte, eachFile, eachDir, eachLine, eachObject, eachMatch operators for working with streams, files and regular expressions matches.
Labels