まつもと ゆきひろです

In message "[ruby-list:25998] Re: 子プロセスから標準出力と終了ステータスを得たい"
    on 00/11/16, yharuo / mail7.dddd.ne.jp <yharuo / mail7.dddd.ne.jp> writes:

||上記の「困ってしまう」問題がその理由です。しかも、$?変数は直
||接にはPerlから受け継いでいますから、シェルに合わせることはか
||えって「意味を変える」ことになってしまいますです。
|
|Rubyは無条件でPerlに準拠した、というのがその答えなら私の質問は
|無意味だったようですね

えーと、それは「しかも」と続けた2番目の(どちらかというと些細
な)理由で、私、もうひとつ重要な

>シェルで $? が WEXITSTATUS の値が入っているのは、core dumpや
>シグナルなどの WEXITSTATUS 以外の部分の値の処理(具体的にはエ
>ラーメッセージ出力)をシェル自身が行っているからです。Ruby(や
>Perl)は、そのような処理の余地がありませんから(これらの言語は
>より「普通の言語」に近いので、ただ単にエラーメッセージを出さ
>れただけでは困ってしまう)、waitの戻り値の WEXITSTATUS 以外の
>部分を保存する必要があります。
       ^^^^^^^^^^^^^^^^^^^^^^^
という理由をしめしたのですが、読めませんでしたか?

                                まつもと ゆきひろ /:|)