如何在Ruby中获取当前目录的名称?

Orc*_*ris 20 ruby directory

如何在Ruby中获取当前目录的名称?我发现的只是File.dirname(__FILE__),但这只会返回.,我想要实际的名字.我该怎么做呢?

Fah*_*kar 43

dirname = File.basename(Dir.getwd)
Run Code Online (Sandbox Code Playgroud)

File.basename() 即使其参数是目录的路径,也会返回基本名称.

为了获得绝对的路径,Dir.pwd似乎可以做到这一点.


San*_*osh 24

在Ruby 2.0或更高版本中,您可以使用Kernel#__dir__:

__dir__
Run Code Online (Sandbox Code Playgroud)

来自文档:

返回调用此方法的文件的目录的规范化绝对路径.


enn*_*ler 8

File.expand_path(File.dirname(File.dirname(__FILE__)))
Run Code Online (Sandbox Code Playgroud)

  • 为什么两个`dirnames`? (7认同)