class Array
def Reduce(acc = 0)
each do |e|
acc = yield(acc, e)
end
acc
end
end
arr = [1,2,3,4,5]
p arr.Reduce { |a, e| a + e }
p arr.Reduce { |a, e| a - e }
p arr.Reduce(1) { |a, e| a * e }
p arr.Reduce(1) { |a, e| (a / e).to_f }
sarr = arr.map {|e| e.to_s }
p sarr.Reduce("") { |a, e| a + e }
p arr.Reduce([]) { |a, e| a.push(e * e) if e.odd?; a }
p arr.Reduce({}) { |a, e| a[e] = e * e; a }
To embed this project on your website, copy the following code and paste it into your website's HTML: