From: "H.Yamamoto" Date: 2005-06-01T12:12:29+09:00 Subject: [ruby-dev:26259] Re: many errors with soap/wsdl test on mswin32 山本です。 >杉浦です。 >なんかこんなところだけ出てきて申し訳ないですが…… > >>>> In Message "[ruby-dev:26252] Re: many errors with soap/wsdl test on mswin32" >>>> <20050531195015.C3DD2240.ocean@m2.ccsnet.ne.jp>, >>>> H.Yamamoto said; >> >適宜 file:// を足すことでエラーが全滅したので、全てドライブレター問題のようです。 > >> やってしまってから気づいたんですが、scheme って http:// や file:// のように >> スラッシュ二つ続くものだったりしますか?もしそうなら、e:/ と一つのスラッシュで >> scheme 扱いしている URI.parse のバグのような気がします。 > >foo: みたいなものだけで scheme になります(mailto: とか)。 >"//" は後ろに RFC 2396 の様な階層構造を持っている事を示すための識別子だそうです。 なるほど、勉強になります。 >## >そう言えば、Windows はこのへんを避けるためなのか一時期 C|/dir/file とか >"|" で置き換えをやっているのを見たような気がしますが、あれはどうなったのだろ…… Windows って難儀ですね・・・試しにもう少し調べてみると、 irb(main):013:0> URI.parse("file:///e:/hoge").path => "/e:/hoge" irb(main):014:0> URI.parse("file://e:/hoge").path => "/hoge" のように e:/hoge が返ってこないので、私のパッチで動いていたのもたまたまのようです。 たぶん、違うドライブからテストすると動かないと思います。