I've implemented a factorial function in a more "Ruby" way. I would like to get feedback on the algorithm.
def factorial_of n
(1..n).inject :*
end
factorial_of 5
=> 120
The "of" in the name factorial_of
is redundant and unconventional.
factorial_of 0
returns nil
instead of the correct answer, which is 1
.
def factorial(n)
(1..n).inject(1, :*)
end
factorial_of 5
gives 15, not 120... Maybe you had another function and didn't paste in the correct one? \$\endgroup\$