From: "U.Nakamura" Date: 2005-11-21T12:09:15+09:00 Subject: [ruby-dev:27773] Re: File.dirname("///foo/bar/baz/qux") on cygwin こんにちは、なかむら(う)です。 In message "[ruby-dev:27772] Re: File.dirname("///foo/bar/baz/qux") on cygwin" on Nov.21,2005 11:47:34, wrote: | > Cygwinの気まぐれな仕様に合わせる必要はないと思います。 | > ///はUNCとしても無効のようなので、とりあえず挙動は不定として | > おきたいところ。///のように3つ以上で/になるのは実装上たまた | > まそうなってるのかもしれないし。 | | ふむ。コマンドプロンプトで試すと dir \\\foo\bar は | dir \foo\bar とは違うんですね。なるほど、それならひとつに縮 | めてしまうのは不適切なようにも感じられてきました。 | | では、/// のまま保存するというのはどうでしょう? どうするのがユーザーが一番嬉しいでしょうかねえ。 | >> Cygwinで思い出しましたが、最近のCygwinは // や //server を有 | >> 効なディレクトリ名として認識・動作するので、 | >> File.dirname("//") #=> "//" | >> File.dirname("//server") #=> "//" | >> File.dirname("//server/share") #=> "//server" | >> と動作するべきような気がしますが、どうでしょう?>ebanさん | | よくわかっていないのですが、現状そうなっているように見えるの | は気のせいなんでしょうか。 田中さんの「現状」が微妙に古いみたいです。 % /usr/local/bin/ruby -v ruby 1.9.0 (2005-11-20) [i386-cygwin] % /usr/local/bin/ruby -e 'p File.dirname("//")' "//" % /usr/local/bin/ruby -e 'p File.dirname("//server")' "//server" % /usr/local/bin/ruby -e 'p File.dirname("//server/share")' "//server/share" % /usr/local/bin/ruby -e 'p File.dirname("//server/share/foo")' "//server/share" それでは。 -- U.Nakamura