Получить родительский каталог текущего каталога в Ruby Я понимаю, что могу получить текущий каталог $CurrentDir = Dir.pwd Как насчет родительского каталога текущего каталога? Ответ 1 File.expand_path("..", Dir.pwd) Ответ 2 Возможно, самое простое решение: puts File.expand_path('../.') Ответ 3 Я думаю, что еще более простое решение - использовать 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 не поддерживает. Это, конечно, работает только в том случае, если filepec является абсолютным и не относительным. Чтобы сделать его абсолютным, вы можете сделать это: 2.3.0 :008 > File.expand_path('.') => "/Users/kbennett/temp" 2.3.0 :009 > File.dirname(File.expand_path('.')) => "/Users/kbennett"
Ответ 3 Я думаю, что еще более простое решение - использовать 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 не поддерживает. Это, конечно, работает только в том случае, если filepec является абсолютным и не относительным. Чтобы сделать его абсолютным, вы можете сделать это: 2.3.0 :008 > File.expand_path('.') => "/Users/kbennett/temp" 2.3.0 :009 > File.dirname(File.expand_path('.')) => "/Users/kbennett"