12/05/2009 02:46:48 PM
At the request of a former employer here's a tail recursive version of the prime factors kata in Ruby.
def generate(n, factors=[])
return factors if n == 1
new_factor = (2..n).find {|f| n % f == 0}
generate(n / new_factor, factors + [new_factor])
end