From: OOTANI TAKASHI Date: 2003-07-23T00:23:20+09:00 Subject: [ruby-list:37939] Re: __FILE__ in mswin32 大谷です。 > > 質問1: > > エラーメッセージにスクリプト名を出す、 > > エレガントなやり方は無いものでしょうか? > ruby1.7からはパスセパレータとして \ も認識されるようになっています。 > ですから、現状のruby1.8のプレビュー版を使うか、正式リリースを待てば > よいかも。以下が参考になると思います。 > http://kt-lab.ics.nitech.ac.jp/~sugiura/document/ruby/refm0250.html 情報ありがとうございます。 ということで、1.8正式版を待つことにし、それまでは文字列埋め込みにしておきます。 そういう情報が無いかと、「SEPARATOR」でサーチしたんですが、「セパレータ」で サーチすればよかったのかもしれませんね。 > 現状では私も1.6.8を使っているので、とりあえずWIN32OLEでWindowsの > FileSystemObjectを呼び出してFile.basename、dirnameなどのメソッドを > オーバーライドするモジュールを作り、それをスクリプトからrequireして > 急場をしのいでいます。これだと1.8がリリースされるなどしてこのモジュ > ールが不要になってもrequire文だけを削除すればいいだけですから。 > > 個人的にメールをくださればあとでそのモジュールをお送りしてもかまい > ません。 ありがとうございます。そういう暫定対応がよさそうですね。 今回は要りませんが、必要になったらお願いするかもしれません。 > > 質問2: > > File::ALT_SEPARATOR の持っている心を教えてください。 > > これはフルパスを分割する際に使うのではなく、自分でパスをつなぎ合わ > せるときに使うものでは。 でも、unixではnilだから、汎用に書くと、(ALT_SEPARATOR || SEPARATOR) を使わないといけない。いまいちな気がします。 -- OOTANI TAKASHI