2017/01/12
Pathname#joinの不思議な挙動
空のPathname同士をjoinした時に期待と違う挙動があった。
$ ruby -v
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]
期待していたのは次の動作。
path = Pathname.new('') # => #<Pathname:>
path.join(path) # => #<Pathname:>
でも実際はこうなっていた。
path = Pathname.new('') # => #<Pathname:>
path.join(path) # => #<Pathname:.>
空のPathnameと空のPathnameをjoinしてるんだから空のPathnameが欲しかったのに、 .
がどこからか出てきてる。
なぜこうなっているんだろう。