From: "橋本昌典" Date: 2003-03-07T13:12:10+09:00 Subject: [ruby-list:37240] Exerbの終了ステータスについて はじめまして。橋本と申します。 半年前からRubyを使い始めたばかりですが、Rubyっておもしろいですねぇ。 イテレータがたまりません!! Win32環境なので、Exerbもインストールしました。 これもすごいですね。 前のバージョンだとインタプリタ持込だったから500Kくらいのバイナリが できてましたが、最新版だとDLLと分かれてるのでサイズが小さくなって 布教しやすいです。(^^ さて、今回 Exerb について質問なのですが、Rubyのコードで exit(10)と しても終了ステータスが必ず 0 になるように思いますが、これは仕様なの でしょうか? バイナリは、以下のメイクファイルで作成し、実行は、SFU2.0(ksh)で 表示してみました。 ***<メイクファイル>*** D:\cvswork\ruby\exerb-test>cat foo.mk RUBY=ruby .rb.rbc: $(RUBY) -r exerb/mkrbc $< TARGET: foo.exe foo.exe: echo puts 'Hello Exerb' > foo.rb echo exit(10) >> foo.rb $(RUBY) -S exerb.rb -c cuirt -o $@ foo.rbc ***<シェル>*** D:\cvswork\ruby\exerb-test>cat foo.sh foo.exe echo $? ***<実行結果>*** D:\cvswork\ruby\exerb-test>sh Licensed from the MKS Toolkit. Copyright Mortice Kern Systems Inc. (www.mks.com) 1985-1999. All rights reserved. $ ruby foo.rb Hello Exerb $ echo $? 10 <--- Rubyキックだと正常 $ foo.exe Hello Exerb $ echo $? 0 <--- EXEだと 0 になる $ 以上よろしくお願いします。