[#23332] to_str再考 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

15 messages 2004/04/05

[#23380] [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

17 messages 2004/04/15
[#23400] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/04/16

山本です。落ちる場所がわかりました。

[#23402] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/04/16

山本です。

[#23403] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — nobu.nakada@... 2004/04/16

なかだです。

[#23405] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/04/16

山本です。

[#23407] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/04/16

山本です。

[ruby-dev:23462] Re: open("|...").each

From: Yoshiki Wada <ysk@...5.so-net.ne.jp>
Date: 2004-04-30 10:55:09 UTC
List: ruby-dev #23462
> > 次のコードで、ブロックを抜けた後でも
> > openで実行したlsのプロセスが残ります。
> > 
> > open("|ls").each do |line|
> >   p line
> > end
> 
> openが返した IO オブジェクトが回収されていないので wait が起こら
> ずにゾンビ化しているのでしょうか。

> そういう使い方はopen にブロックを渡したり,
>   open("|ls") do |f|
>     f.each do |line|
>       p line
>     end
>   end
> IO.foreach 等を使います。
>   IO.foreach("|ls") do |line|
>     p line
>   end

なるほど。こうすれば問題なくなりました。ありがとうございます。
もともとの使い方では、openを何度も呼び出していたので
知らないうちにプロセスを山ほど起動したまま
になってしまって、びっくりしてしまいました。


In This Thread

Prev Next