web-dev-qa-db-ja.com

Ruby:別のパスを基準にしてパスを計算する方法は?

私が出発している絶対パスと到達しようとしている絶対パスを知っているとしましょう:

first = '/first/path'
second = '/second/path'

ここで、最初のパスに相対的なパスを作成する方法を理解したいと思います。例えば:

# answer should be /first/path/../../second/path
path = second.get_path_relative_to(first)

Rubyでこの種のことを行うにはどうすればよいですか?

39
Andrew

使用する - Pathname#relative_path_from

require 'pathname'

first = Pathname.new '/first/path'
second = Pathname.new '/second/path'

relative = second.relative_path_from first
# ../../second/path

first + relative
# /second/path
60
Matheus Moreira