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*****