長沢です。

# プロバイダ乗り換えに備えてアドレス移行中。

表題の件、OS/2 版でも同じ様な結果になります。どうもドライブレターなん
て物があって、それぞれにカレントディレクトリが存在するという、DOSISH 
なOS 特有な問題じゃないかと思います。

# 当然cygwin はDOSISH な環境には入らないので、問題にならない、と:-)

確認したのは

ruby 1.6.2 (2000-12-25) [i386-os2_emx]

です。

# 手元ではmake してるけど、バイナリを公開してない(^^;;


○スクリプト(スクリプト本体は"e:/tmp" にあります)
-----^ 
#! ruby
dir = "e:/*"
glob = Dir::glob(dir)
p glob
p File::exist? glob[0]
-----$


1.上記のスクリプトを"e:\tmp" をカレントディレクトリにして実行
 → "e:/tmp/*" の結果が返る

2."cd \tmp\hoge" してから再度実行
 → "e:/tmp/hoge/*" の結果が返る

3.2.の状態から"z:"(カレントドライブを変更)してから再度実行
 → "e:/tmp/hoge/*" の結果が返る


ちなみに

ruby 1.6.3 (2001-03-10) [i386-os2_emx]

だと、以下のような結果になってしまいます。

[]
test2.cmd:6:in `exist?': wrong argument type nil (expected String) (TypeError)
        from test2.cmd:6
Exit 1

# これはこれできっと別の問題だ...
#(「ruby-dev の話題に私がついていけてない」という問題かも(^^;; )


                           長沢 研二         - HGF01572 / nifty.ne.jp -
                                                - kenn / hma.att.ne.jp -
                                      /// Team OS/2 J at HAMAMATSU ///