A place for my personal musings, about programming, design or whatever come across my mind

Summing up factorial

Another way for factorial, extending the integer class, so the function will feel more natural, instead of fact 6 for example, you just call it by 6.fact.
Also, added a function to sum up the factorial value, counting down. Example, for 6!, it will be 6! + 5! + 4! + 3! + 2! + 1!
Here go,

class Integer
  def fact
    if self == 0
      return 1
    else
      n = self * (self - 1).fact
    end
  end
  def sum_fact
    (1..self).inject{|a,b| a + self.fact}
  end
end
puts 4.fact
puts 4.sum_fact

Leave A Comment