From: eiichi_maekawa@... Date: 2010-01-12T10:35:23+09:00 Subject: [ruby-list:46761] Re: excel ファイル 絶対パスの取得について【RDEとeclipseの違い】 前川です。 自己レスです。スッキリと解決しました。 eclipseでは、プロジェクトとして登録する機能で、任意のディレクトリをプロジェ クトとして登録できます。 この場合、プロジェクトとして設定した親ディレクトリがそのまま、パスとして使 われることが分かりました。 (windows版で開発しているため??) たとえば d:/aaa/bbb/ccc/ddd.rb として、 d:aaa をプロジェクトとして登録し、ddd.rbを実行するときに、 ファイルのツリーから、ddd.rbを選択して、実行した場合、 取得できるパスは、d:/aaaのみ(プロジェクトとして登録したパス)となります。 その下のbbb、cccは、省略されてしまいます。 その結果、ddd.rb で、puts Dir.pwd を実行しても、 d:/aaa しか取れません。 実際に取得したいのは、絶対パスの、 d:/aaa/bbb/ccc なのですが。 > eclipseでの結果 > Dir.pwd=D:/Apache2.2/htdocs/ruby_prg では、プロジェクトとして、D:/Apache2.2/htdocs/ruby_prg を登録したため、 D:/Apache2.2/htdocs/ruby_prg の 下にある /em_ruby/windowsSample/excelPrg が取得されなかったようです。 再度、プロジェクトを登録しなおし、実行した結果、 正常なパスが取得できました。 登録したパスは、 D:\Apache2.2\htdocs\ruby_prg\em_ruby\windowsSample\excelPrg です。 デバッグライトの結果も、 プログラムファイルは D:\Apache2.2\htdocs\ruby_prg\em_ruby\windowsSample\excelPrg\test_excel.rb エクセルファイルは D:\Apache2.2\htdocs\ruby_prg\em_ruby\windowsSample\excelPrg\test_sample.xls となりました。 eclipseを使用している方には常識と思われますが、このような類の説明は、 ググっても見つけられませんでした。(Javaスクリプトの例は、あったようです が) eclipseを使用して、プログラムからファイル操作をする場合は、注意が必要です ね。 ご報告まで。 お騒がせしました。 eiichi_maekawa@mhi.co.jp wrote on 2010/01/12 07:57:05: > 助田さん > ありがとうございました。 > やはり、助田さん ご指摘のとおり、異なっていました。 > RDEでの結果 > Dir.pwd=D:/Apache2.2/htdocs/ruby_prg/em_ruby/windowsSample/excelPrg > eclipseでの結果 > Dir.pwd=D:/Apache2.2/htdocs/ruby_prg > 推測ですが、eclipsでは、内部でapache2.2で設定しているワーク用のパスが、 > 仮想ディレクトリとして、設定され、その中で、プログラムを動かしているよう に > 思われます。 > これ以上は、rubyの問題ではないので、調べてみます。 > どなたか、解決策、ご存知でしたら、ご指導ください。 >