From: WATANABE Hirofumi Date: 2002-11-15T18:18:33+09:00 Subject: [ruby-list:36481] Re: merge large files わたなべです。 Yuya Kato writes: > > --------------------------------------------------------------------- > > f1 = open(ARGV.shift) > > f2 = open(ARGV.shift) > > > > until (line = [f1.gets, f2.gets]).compact.empty? > > printf("%-35s | %-35s\n", (line[0] || "").chomp, (line[1] || "").chomp) > printf("%-35s | %-35s\n", line[0].to_s.chomp, line[1].to_s.chomp) > > end > > --------------------------------------------------------------------- 2つだけってのも何だし、それ以上のときはどうすればいいのかちょっ と考えてみました。 format = (["%-35s"] * ARGV.size).join(" | ") handles = ARGV.map{|f| open(f)} while lines = handles.collect{|h| h.gets.to_s.chomp} break if lines.uniq == [""] print format % lines, "\n" end -- わたなべひろふみ 嫌いだという str % [a,b] をわざと使ってみたり