なかだです。

At Mon, 23 Oct 2000 16:15:35 +0900
Takaaki Tateishi <ttate / jaist.ac.jp> wrote:
> module Open3
>   #[stdin, stdout, stderr] = popen3(command);

  結構前の話ですが、別解を思いついたので…。IO::popen で作った IO って必
ず waitpid() しますよね、たしか。


module Open3 def popen3(*cmd) re, we = IO.pipe unless io = IO.popen('-', 'w+') re.close STDERR.reopen(we) we.close exec(*cmd) end we.close defined? yield or return io, io, re begin yield(io, io, re) ensure io.close re.close end end module_function :popen3 end end
-- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦