[#44713] パイプ経由コマンド実行? — "morita" <m-morita@...>
もりたと申します。お世話になります。
10 messages
2008/03/03
[#44714] Re: パイプ経由コマンド実行?
— Hidetoshi NAGAI <nagai@...>
2008/03/03
永井@知能.九工大です.
[#44716] Re: パイプ経由コマンド実行?
— "m-morita" <m-morita@...>
2008/03/03
もりた です。
[#44725] Set[Set[1]]==Set[Set[1]] は偽? — "5.5" <5.5@...>
5.5 です。
22 messages
2008/03/04
[#44726] Re: Set[Set[1]]==Set[Set[1]] は偽?
— "Ohto, Yasunori" <Yasunori.Ohto@...>
2008/03/05
大戸です。
[#44744] Re: Set[Set[1]]==Set[Set[1]] は偽?
— "5.5" <5.5@...>
2008/03/06
5.5 です。
[#44728] ダウンロードリンクが古い — Kouhei Yanagita <yanagi@...>
こんにちは。柳田です。
10 messages
2008/03/05
[#44745] [ANN] Rails勉強会@東京 第28回のお知らせ — "MOROHASHI Kyosuke" <moronatural@...>
各位
1 message
2008/03/07
[#44769] Ann: Ruby-1.9.0-1 Windowsインストーラパッケージ — arton <artonx@...>
artonです。
4 messages
2008/03/13
[#44773] PHPとの関数対照表 — "tadashi nagao" <tadashi.nagao@...>
長尾です。
7 messages
2008/03/14
[#44782] $stdin.rewind が exec した子プロセスに伝わらない? — SATOH Fumiyasu <fumiyas@...>
さとうふみやす @ OSS テクノロジです。
11 messages
2008/03/17
[#44783] Re: $stdin.rewind が exec した子プロセスに伝わらない?
— Kazuhiro NISHIYAMA <zn@...>
2008/03/17
西山和広です。
[#44785] Re: $stdin.rewind が exec した子プロセスに伝わらない?
— Nobuyoshi Nakada <nobu@...>
2008/03/17
なかだです。
[#44786] Re: $stdin.rewind が exec した子プロセスに伝わらない?
— SATOH Fumiyasu <fumiyas@...>
2008/03/18
さとうふみやす @ OSS テクノロジです。
[#44787] Re: $stdin.rewind が exec した子プロセスに伝わらない?
— Nobuyoshi Nakada <nobu@...>
2008/03/18
なかだです。
[#44788] Re: $stdin.rewind が exec した子プロセスに伝わらない?
— SATOH Fumiyasu <fumiyas@...>
2008/03/18
さとうふみやす @ OSS テクノロジです。
[ruby-list:44722] Re: パイプ経由コマンド実行?
From:
小西 弘将 <konishi@...>
Date:
2008-03-03 09:01:49 UTC
List:
ruby-list #44722
小西 弘将です。
GC時にオブジェクトが廃棄されるときにはクローズされるかと。ただ、処理終了
(スコープアウト)の瞬間にGCで回収されるというのは間違いです。
意図的にGCさせるときは、GC.startですが、それ以外の場合は、Rubyにとって適
当なタイミングでGCがおきますので、スコープを監視してGCするわけではないこ
とに注意が必要です。
パイプは明示的にCloseあるいはFlushする習慣をつけた方が、びっくりがないと
思います。
>まつもと様
>
>もりた です。懇切丁寧なご説明ありがとうございます。
>> | open("foo","w").write("a\n")
>> | open("foo","w").write("b\n")
>>
>> 上のプログラムでは最初の行でopenしていますが、一度writeしたあ
>> と放置されていますので、IOオブジェクトは今後書き込みがあるか
>> もしれないので、バッファをflushしません。openの戻り値を他で参
>> 照していないので、人間は「もう終わった」と思うかもしれません
>> が、それはRubyの関知するところではないからです。
>そうでしたか、わかりました。IO オブジェクトは変数と別管理になって
>いるのですね。
>
>私の思い違いは「open の際に局所的な変数(オブジェクト)を生成して、
>その変数がバッファを内包していると思っていて、それがソース上の
>スコープにある変数に代入されなければ、処理終了後その変数は GC
>対象であり、その時点で終末処理できる」でした。
>
>> どのように思っていらっしゃったかは知る由もないのですが、はっ
>> きり言えることは「なんらかの方法でちゃんとcloseしてください」
>> です。
>はい。アドバイスありがとうございます。