From: Koji Arai Date: 2001-08-21T15:50:27+09:00 Subject: [ruby-list:31031] Re: file exist check method? 新井です。 In message "[ruby-list:31004] Re: file exist check method?" on 20 Aug 2001 10:00:32 +0900, "U.Nakamura" wrote: > こんにちは、なかむら(う)です。 > | 第二引数に c: が渡されていれば、その意図はCドライブのファイ > | ルにしか用がなく、第一引数に渡せるのは c: と明示したものかド > | ライブレターを書いてないものだけなんじゃないかと。。。 > > うーん、一理あるとは思うのですが、現状において > File.expand_path("/foo", "/bar") # => "/foo" > であるのとさほど変わらん話だと私は思ってたのですけど、どうで > しょうね。 あっ、UNIXだとそうなるのですね。なるほど、その挙動を元にすれ ばわからないでもないです。ふーむ、そうだったのか。 でも、自分の直観を信じれば File.expand_path("c:foo", "d:/bar") で、答えが帰って来るのは気持悪いですねえ。 > File.joinに関しては、繋いでおかしな結果になるものが渡された > らその結果は知らんということでいいんでないかと思ってます。 > つまり、 > File.join("c:/foo", "d:bar") # => "c:/foo/d:bar" > であってかまわない、と。 > File.joinに関しては、 > File.join(File.split("C:/foo")) # => "C:/foo" > さえ満たされればあんまり変えたいという意識はないです。 これは、これだけ見ればそれでも良い気はします。けど、 File.expand_path はドライブレターを意識して、File.join は無 視ではなんか一貫性がないような。 ふーむ、難しいものですね。 -- 新井康司 (Koji Arai)