miyohideの日記

技術的なメモなどを記しています

2023年5月23日

RubyURI.joinでは末尾に/をつけた方が良い?

ちょっと実験をしていてどハマりしたこと。

irb(main):001:0> RUBY_VERSION
=> "3.2.2"
irb(main):002:0> require "uri"
=> true
irb(main):003:0> URI.join("http://www.example.com", "aaa")
=> #<URI::HTTP http://www.example.com/aaa>. # 意図通り
irb(main):004:0> URI.join("http://www.example.com", "aaa", "bbb")
=> #<URI::HTTP http://www.example.com/bbb>. # http://www.example.com/aaa/bbb と出て欲しかった
irb(main):005:0> URI.join("http://www.example.com", "aaa/", "bbb")
=> #<URI::HTTP http://www.example.com/aaa/bbb>. # 途中の部分は末尾に`/`をつけたら意図通りの結果に
irb(main):006:0>

File.joinと同じノリでやるとどハマりした。

irb(main):006:0> File.join("a", "b", "c")
=> "a/b/c"
irb(main):007:0>