[ruby-list:49622] Re: IO.popen に不具合?

From: Tanaka Akira <akr@...>
Date: 2013-10-02 14:37:31 UTC
List: ruby-list #49622
2013年9月28日 0:29 dezawa <dezawa@aliadne.net>:

> 尾川さんの場合は   pipe.read 一回なので、
>  # その時点でpipeにある物だけ読んで終わります。
>  # タイミング悪くThead側が終わらない内にメインにタスクが
>  # 切り替わると、読み足りない事が起きるのではないでしょうか
>
> # の部分正しいか、識者よろしく。

間違っています。
マニュアルに以下のように書いてあるように、EOF まで読むという仕様です。

% ri 'IO#read'
= IO#read

(from ruby core)
------------------------------------------------------------------------------
  ios.read([length [, outbuf]])    -> string, outbuf, or nil

...
If length is omitted or is nil, it reads until EOF and the
encoding conversion is applied. It returns a string even if EOF is met at
beginning.
...
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread