>  fac = lambda{|n| n < 2 ? 1 : (1..n).inject{|f, i| f * i}}
>  tri = lambda{|n, r| fac[n] / (fac[r] * fac[n-r])}
>  size = lambda{|r| tri[r-1, r / 2].to_s.size + 1}
>  line = lambda{|y, r| (0..y).map{|x| tri[y,x].to_s.center size[r]}}
>  lines = lambda{|r| (0...r).map{|y| line[y, r]}}
>  pascal = lambda{|r| lines[r].map{|l| l.join.center(size[r] *
r).rstrip}}
>
>  puts pascal[(ARGV[0] || 15).to_i]

Nice, but very, very slow...

gegroet,
Erik V. - http://www.erikveen.dds.nl/