class Factorial def calc number return nil if !number.is_a?(Integer) || number < 0 @result = 1 number.downto(1) { |i| @result *= i } return @result end end