在Ruby中获取当前目录的父目录

我明白我可以通过获取当前目录

$CurrentDir = Dir.pwd 

那当前目录的父目录呢?

 File.expand_path("..", Dir.pwd) 

也许最简单的解决scheme:

 puts File.expand_path('../.') 

我认为更简单的解决scheme是使用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不包含的path的组件。

当然,这只有在filespec是绝对的而不是相对的情况下才起作用。 为了确保绝对可以做到这一点:

 2.3.0 :008 > File.expand_path('.') => "/Users/kbennett/temp" 2.3.0 :009 > File.dirname(File.expand_path('.')) => "/Users/kbennett"