[exerb-dev] $0問題

Back to archive index

NAKANO Kouichi knuck****@f8*****
2002年 6月 25日 (火) 22:07:12 JST


なかのです。

$0に関して微妙な問題があります。
$ ruby a.rb
としてスクリプトを実行したときの$0は'a.rb'、
$ ruby ./a.rb
として実行したときの$0は'./a.rb'、
$ ruby フルパス
として実行したときの$0はフルパスです。
いずれの場合もa.rb内の__FILE__は$0と同じ値です。

ここでの問題は、
$ a.exe
として実行したときのargv[0]がフルパスであることです。
GetCommandLine()の結果もフルパスです。

つまり$0に関して、rubyでスクリプトを実行したときと、Exerbに
よって生成されたexeファイルを実行したときとで挙動を合わせる
ことが困難、または不可能かもしれないということです。
a.exeが絶対パスで起動されたのか、相対パスで起動されたのかを
知る手段を私はまだ見つけられていません。

というわけで、$0は最初のスクリプトの内部名ということにしませ
んか?test-zero.rbも少し変えて。

# 結論が一番最後にきてしまいましたが。

------------------------------------------------------------
NAKANO Kouichi  Email   knuck****@f8*****




exerb-developer メーリングリストの案内
Back to archive index