Iterator is too obvious in ruby, so assume some theoretical example.
class Iterator def first; end def last; end def next; end def current; end def has_next?; end end class InfiniteNumbers < Iterator def initialize @current = 0 end def first 1 end def last raise "Infinite number" end def next @current += 1 end def current @current end def has_next? true end end iterator = InfiniteNumbers.new puts 100.times.collect { iterator.next }.join(',')
No comments:
Post a Comment