File: iterator.rb

Project: Invitation to Ruby

#!/usr/bin/env ruby

module Enumerable
  # Reduce has been added to the Ruby 1.7 library
  def reduce(init)
    result = init
    each { |item| result = yield(item, result) }
    result
  end
end

puts [1,2,3,4].reduce(0) { |n, sum| n + sum }
puts [1,2,3,4].reduce(1) { |n, prod| n * prod }


[ Index ][ Table of Contents ]
Generated by [ source2html ]