Ruby中的当前文件夹名称是什么?

20

有没有简单的方法获取当前文件夹的名称,还是必须使用正则表达式来完成?

2个回答

39
dirname = File.basename(Dir.getwd)

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

下面的代码对我来说打印出kiamlaluno,其中/home/kiamlaluno是我Ubuntu安装中的主目录。

puts File.basename('/home/kiamlaluno')

当当前目录为/home/kiamlaluno时,puts File.basename(Dir.getwd)与上面代码的输出相同。


7
irb(main):001:0> Dir.getwd
=> "C:/Documents and Settings/UserName"

或者我误解了你的问题?
更新:尝试以下其中之一。
File.split(Dir.getwd)[-1]
Pathname.new(Dir.getwd).basename.to_s

是的,我只想要当前文件夹的名称,而不是文件夹路径。在这种情况下:UserName。在Ruby中有没有一种方法可以做到这一点,还是必须使用正则表达式? - never_had_a_name
2
File.basename(Dir.getwd) 将仅返回最后一个文件夹名称。 - Teoulas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接