----- hoge.rb result = [] ARGF.each do |line| lineno = ARGF.file.lineno - 1 result[lineno] ||= [] line.chomp.split(',').collect{|i|i.to_i}.each_with_index do |val, i| begin result[lineno][i] += val rescue NoMethodError result[lineno][i] = val end end end result.each{|i|puts i.join(',')}