Получить родительский каталог текущего каталога в Ruby - PullRequest
56 голосов
/ 29 декабря 2011

Я понимаю, что могу получить текущий каталог по

$CurrentDir = Dir.pwd

Как насчет родительского каталога текущего каталога?

Ответы [ 3 ]

109 голосов
/ 29 декабря 2011
File.expand_path("..", Dir.pwd)
13 голосов
/ 29 декабря 2011

Пожалуй, самое простое решение:

puts File.expand_path('../.') 
7 голосов
/ 23 мая 2016

Я думаю, что еще более простым решением является использование File.dirname:

2.3.0 :005 > Dir.pwd
 => "/Users/kbennett/temp"
2.3.0 :006 > File.dirname(Dir.pwd)
 => "/Users/kbennett"
2.3.0 :007 > File.basename(Dir.pwd)
 => "temp"

File.basename возвращает компонент пути, который не File.dirname.

Это, конечно, работает, только если спецификация файла абсолютная, а не относительная. Чтобы быть абсолютным, можно сделать следующее:

2.3.0 :008 > File.expand_path('.')
 => "/Users/kbennett/temp"
2.3.0 :009 > File.dirname(File.expand_path('.'))
 => "/Users/kbennett"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...