From: Mathieu Bouchard Date: 2000-06-26T21:41:14-04:00 Subject: [ruby-talk:03665] Re: Another small quiz > The following appeared in chapter 3 of the Ruby's User Guide: > def fact(n) > if n == 0 > 1 > else > n * fact(n-1) > end > end > Is everything OK here? The function is defined on natural numbers (0 and its successors). If this is a given, then yes, the above definition is correct. Using the FAQ's inject function, you may also write: def fact(n) (1..n).inject(1) {|a,b| a * b } end Mathieu Bouchard