|
[ruby-list:42073] Re: puts,printの出力をファイルにも出力するには: msg#00104lang.ruby.japanese
From: 岩崎 弘孝 <IH000667-Hi7X7xagcuRnb2RyOFEZTHf5DAMn2ifp@xxxxxxxxxxxxxxxx> Subject: [ruby-list:42063] puts,printの出力をファイルにも出力するには Date: Fri, 21 Apr 2006 10:53:20 +0900 > 既存のスクリプトでputs,printを多用しています。 > それらの出力をファイル*にも*書き出したいと思っています。 とてもつまらない方法ですが、ファイルに書き出した後で標準出力に書き出すというのは? この方法でprint,puts,systemなどの出力がファイルに書き出されます。 class << IO # Redirect stdout to STDOUT and executes the block. def redirect(stdout) begin stdout_sv = STDOUT.dup STDOUT.reopen(stdout) yield ensure STDOUT.flush STDOUT.reopen(stdout_sv) end end def tee(filename, &block) File.open(filename, "w+") do |fio| redirect(fio, &block) fio.rewind print fio.read end end end require 'tmpdir' IO.tee("#{Dir.tmpdir}/output") { # 書き出すファイル puts "puts to file1" system "echo system to file1" } puts "puts to stdout" -- rubikitch http://www.rubyist.net/~rubikitch/
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | [ruby-list:42072] Re: puts,printの出力をファイルにも出力するには, U.Nakamura |
|---|---|
| Next by Date: | [ruby-list:42074] Re: puts,printの出力をファイルにも出力するには, 岩崎 弘孝 |
| Previous by Thread: | [ruby-list:42070] Re: puts,printの出力をファイルにも出力するには, ikezawa |
| Next by Thread: | [ruby-list:42075] Re: puts,printの出力をファイルにも出力するには, Hidetoshi NAGAI |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |