小林と言います.
質問(指摘?)させてください.
exit1.rb:
print "hoge\n"
exit
exit2.rb:
print "hoge\n"
exit!
この2つのスクリプトがあるとします.
両者を
% ruby exit?.rb
として実行すると, "hoge\n" が端末(標準出力)に出力されます.
しかし,
% ruby exit?.rb | less
などとしてパイプに渡すと, exit! を用いた exit2.rb は
後続のプロセスに "hoge\n" が渡って来ないようです.
exit! を使う場合,解決策として
print "hoge\n"
STDOUT.flush
exit!
とすればよいのでとりあえずは問題は無いのですが,ちとハマってしまいました.
これって仕様ですか?
テストに用いた Ruby は 1.6.7 です.
それでは.
--
小林 俊仁 / KOBAYASHI Toshihito
Community Engine Inc.
Mail: toshi / vce-lab.net
Cell: 090-2114-7270
MSN: toshipoo / hotmail.com
ICQ: 3251637