[BioRuby-ja] Re: Open3

Tomoaki NISHIYAMA tomoakin @ kenroku.kanazawa-u.ac.jp
2005年 4月 26日 (火) 21:46:14 EDT


こんにちは、
基生研から金沢大学に移った西山です。

> もちろんこれをRuby scriptの中で使いたいので,Rubyでwrapperを作りました.
> 以下に主要部分を書いておきます.(変なところがあったら皆さんつっこんで下
> さい).

プログラムが変というよりは、現在のrubyの仕様がいまいちなのだと思うのですが、

> inn, out, err = Open3.popen3(cmd)

の前に、STDOUT.flushを入れておかないと、STDOUTのバッファに
残っていたデータがあると2重に出力されてしまうと思われます。
原理的には、STDERRもですが、 STDERRは普通バッファリングしないので大丈夫でしょう。
これから、この件で、ruby-devの方にメールを書こうと思っています。

簡単なテストプログラムをつけます。

#!/usr/local/bin/ruby
require 'open3'

print "aa"
a,b,c =Open3.popen3("/bin/true")
print "bb\n"
sleep(0.1)
print "cc\n"
-- 
西山智明
金沢大学学際科学実験センター



BioRuby-ja メーリングリストの案内