Ruby中的当前文件夹名称?

问题描述:

有没有简单的方法来获得当前文件夹名称的名称,或者我必须用正则表达式来做到这一点?Ruby中的当前文件夹名称?

dirname = File.basename(Dir.getwd) 

File.basename()返回,即使它的参数是一个目录的路径基本名称之一。

下面的代码打印kiamlaluno对我来说,在/家庭/ kiamlaluno是我的Ubuntu安装的主目录。

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

同样不puts File.basename(Dir.getwd),在当前目录为/ home/kiamlaluno。

+0

+1虽然w.r.t有些误导。可读性 – Gishu 2010-08-27 13:09:32

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

还是我误解了你的问题?

更新:尝试以下

File.split(Dir.getwd)[-1] 
Pathname.new(Dir.getwd).basename.to_s 
+0

是的,我想只有当前的文件夹名称,而不是文件夹路径。在这种情况下:用户名。有没有办法在Ruby中做到这一点,或者你必须使用正则表达式? – 2010-08-27 12:27:41

+2

File.basename(Dir.getwd)将只返回最后一个文件夹名称。 – Teoulas 2010-08-27 12:45:26

+1

@ajsie - 请参阅更新。 – Gishu 2010-08-27 12:52:56