IO.pipeを使えば、パイプを作ることが出来る パイプを作ると楽しい。 o,i = IO.pipe 100.times{ i.puts :test } 100.times{ puts o.gets }これだけ Pipeを使うと何が便利か。スレッドをブロック出来る loop{ p o. gets }で i.puts を待つことが出来る。 どういうことかというと IO.pipeはブロックする? >> input.puts "aaaaaaaaa" #=> nil >> input.puts "aaaaaaaaa" #=> nil >> input.puts "aaaaaaaaa" #=> nil >> out.gets #=> "aaaaaaaaa\n" >> out.gets #=> "aaaaaaaaa\n" >> out.gets #=> "aaaaaaaaa\n" >> out.get