Ниже приведен код, который я пытался запустить из Ruby Programming
Book
http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_modules.html
Почему метод product
не дает правильного вывода?
Я запустил его с помощью irb test.rb
. И я бегу Ruby 1.9.3p194
.
module Inject
def inject(n)
each do |value|
n = yield(n, value)
end
n
end
def sum(initial = 0)
inject(initial) { |n, value| n + value }
end
def product(initial = 1)
inject(initial) { |n, value| n * value }
end
end
class Array
include Inject
end
[1, 2, 3, 4, 5].sum ## 15
[1, 2, 3, 4, 5].product ## [[1], [2], [3], [4], [5]]