[#39464] Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

25 messages 2004/04/01
[#39608] Re: Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — pegacorn@... 2004/05/02

遅い反応&File.fnmatchは使った事ない&ruby-devの方では

[#39609] Re: Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — pegacorn@... 2004/05/02

File.fnmatch(と Dir.glob)をちょっと使ってみたのですが、

[#39610] Re: Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/05/02

山本です。

[#39611] Re: Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — matz@... (Yukihiro Matsumoto) 2004/05/02

まつもと ゆきひろです

[#39613] Re: Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — pegacorn@... 2004/05/02

From: matz@ruby-lang.org (Yukihiro Matsumoto)

[#39616] Re: Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — matz@... (Yukihiro Matsumoto) 2004/05/02

まつもと ゆきひろです

[#39620] Re: Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — pegacorn@... 2004/05/03

From: matz@ruby-lang.org (Yukihiro Matsumoto)

[#39621] Re: Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — matz@... (Yukihiro Matsumoto) 2004/05/03

まつもと ゆきひろです

[#39622] Re: Re [ruby-dev:23297] 大文字・小文字の区別がDOSISHかどうかで変わる、パス名マッチ関数の提案 — pegacorn@... 2004/05/03

From: matz@ruby-lang.org (Yukihiro Matsumoto)

[ruby-list:39547] スクリプトがあるディレクトリパスの取得方法

From: kensaku Maki <sakaki@...>
Date: 2004-04-14 11:04:11 UTC
List: ruby-list #39547
まきと申します。

あるRubyスクリプトの存在するディレクトリと
ワーキングディレクトリが異なる場合、
スクリプトのあるディレクトリのパスを
取得する方法について悩んでいます。

C/C++だとARGV[0]が自分自身の名前となっていますから
これを利用すれば取得できます。
しかしRubyではARGV[0]が第一引数となっていますので、
自分自身の名前を取得することが出来ません。

また、Dir.pwdではワーキングディレクトリのパスしか取得できません。

環境変数をあらかじめ定義する、スクリプト内でfindをかけるなども
考えたのですが、ちょっと大げさな気がします。
なにか良い方法はないでしょうか?

具体的にやりたいのは、例えば、
/home/maki/wd/foo.rb
と同じ場所にあるbar.txtをロードするスクリプトを、
/home/maki/
で実行する場合です。

/home/maki/でfoo.rb実行する場合でも、絶対パス指定しておけば、
ワーキングディレクトリが異なったとしてもbar.txtを呼び出せます。

しかしこの2つのファイルを別のディレクトリに移動して
別のディレクトリで実行させると、パスが違うのですから
当然bar.txtをロードできません。

Rubyスクリプト内から自分自身がいるディレクトリのパスが
取得できれば解決できると思うのですが・・・。
なんでこんなことで悩んでいるかというと、CVSからチェックアウトした際、
Rubyスクリプトの置いてある場所が同一であるとは限らないからです。
どうぞよろしくお願いします。

実行環境は
Windows2000SP4+Cygwin1.5.9+Ruby1.8.1
Redhat9+Ruby1.6.8
です。



In This Thread

Prev Next