我知道我可以通过
获取当前目录$CurrentDir = Dir.pwd
当前目录的父目录怎么样?
答案 0 :(得分:104)
File.expand_path("..", Dir.pwd)
答案 1 :(得分:12)
也许是最简单的解决方案:
puts File.expand_path('../.')
答案 2 :(得分:7)
我认为更简单的解决方案是使用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"
答案 3 :(得分:1)
在现代 Ruby 中,您绝对应该使用 Pathname。
Pathname.getwd.parent