[#49575] define_method内でsuper(*args)を呼ぶとエラーになる — Koga Osamu <osak.63@...>
古賀といいます。
4 messages
2013/09/02
[#49582] ruby v2.0 における zip/zipfilesystem の LoadError — "YOSHIIZUMI" <t-yoshiizumi@...>
吉泉といいます。
4 messages
2013/09/07
[ruby-list:49609] Re: IO.popen に不具合?
From:
dezawa <dezawa@...>
Date:
2013-09-27 15:29:50 UTC
List:
ruby-list #49609
> これは単なる趣味です。見た目が少しでもシェルスクリプトのパイプライ
> ンに似ていた方が私としては見やすく感じた、というだけのことです。
やはり。これは多分そうだろうなぁと予想してました。
> 特に今回の私の場合は、扱うデータのサイズが大きくて pipe のバッファ
> を越えるのは明らかだったので、その方が安全そうに思えたものですから。
なるほど、それですとThreadしたほうが良さそうですね。
ただ、http://doc.ruby-lang.org/ja/2.0.0/class/Open3.html
の例とは違うところがあって、
例では
stdout.each do |line| print line ;end
とEOFまで繰り返し読み込んでいるので、必ず最後まで読みますが
尾川さんの場合は pipe.read 一回なので、
# その時点でpipeにある物だけ読んで終わります。
# タイミング悪くThead側が終わらない内にメインにタスクが
# 切り替わると、読み足りない事が起きるのではないでしょうか
# の部分正しいか、識者よろしく。
ret = ""
while data=pipe.read; ret += data;end
ret
とでもしてみるとどうでしょうか。
う〜〜〜 汚い。。。誰か綺麗にして。