小林と言います.
質問(指摘?)させてください.

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