二次元配列を縦に足す

二次元配列を列方向に処理を読んで作ったプログラム。

ar = Array.new
DATA.each { |line|
  line.chomp!.split(/,/).each_with_index { |item, i|
    ar[i] or ar[i] = Array.new
    ar[i] << item.to_i
  }
}
p ar
#=> [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
p ar.map {|a|
  a.inject(0) {|sum, n| sum + n }
}
#=> [12, 15, 18]
__END__
1,2,3
4,5,6
7,8,9