def my_reduce(array)
head, *tail = array
return (tail.empty? ? head : (head + my_reduce(tail)))
end
# triangular number example
n = 100
my_reduce((1..n).to_a) == (n*(n+1))/2 #=> True
def my_reduce(array)
head, *tail = array
return (tail.empty? ? head : (head + my_reduce(tail)))
end
# triangular number example
n = 100
my_reduce((1..n).to_a) == (n*(n+1))/2 #=> True