Ari Brown wrote:
> Hey all,
> my second submission to RQ. My first one is GOING TO BE fizzbuzz. Now
> now, now's not the time to battle my inconsistencies...
> 
> Here's my code for Pascals Triangle. Can someone help me shorten it up?

Most of it has already been said, anyway, here's my take based on your 
approach:

class Integer
  def factorial
    (1..self).inject(1) { |fac, i| fac*i } # as James already stated
  end

  def cr(r)
    factorial/(r.factorial*(self-r).factorial)
  end
end

# IMHO number of rows is more intuitive and leaves less questions open 
(like: does it start with 0 or 1?)
def pascal(rows)
  rows.times do |row_num|
    holder = []
    row_num.times do |ticker|
      holder << row_num.cr(ticker)
    end
    holder # the formatting stuff etc. IMHO does not belong into this 
function
end

puts 'How many rows do you want?'
max_row = gets.chomp.to_i
puts pascal(max_row).join(' ').center(80)

Regards
Stefan

-- 
Posted via http://www.ruby-forum.com/.