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/.