Ruby: Module, Mixins und Blocks verwirrend?
Das Folgende ist der Code, den ich versucht habe, von derRuby Programming
Buchhttp://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_modules.html
Warum geht das nicht?product
Methode geben die richtige Ausgabe? Ich lief es mitirb test.rb
. Und ich renneRuby 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]]