Rubyで正規化せずにファイルのパスを取得するにはどうすればよいですか?

概要

現在のディレクトリのパスは /a/b/c/ です 私がする時

fname = File.path("../test.rb")
::File.absolute_path(fname) 

出力は /a/b/test.rb です。

私が期待しているのは、次のような出力です: /a/b/c/../test.rb

基本的に、../と~の正規化を行わないファイルのパスが必要です

解決策

File.join を使用して自分でビルドすることもできます。

Dir.pwd
#=> "/a/b/c"

File.join(Dir.pwd, "../test.rb")
#=> "/a/b/c/../test.rb"

Dir.pwd は現在の作業ディレクトリを返すことに注意してください。現在のファイルのディレクトリを取得するには、dir を使用します。