Turning Any Class Into An Enumerator
class SquaresCollection
def initialize(items)
@items = items
end
def run
@items.map { |item| item * item }
end
end
SquaresCollection.new([1,2,3]).run #=> [1,4,9]class SquaresCollection
def initialize(items)
@items = items
end
def each
return enum_for(:each) unless block_given?
@items.each do |item|
yield item * item
end
end
endLast updated