2010-08-27 24 views

Respuesta

26
dirname = File.basename(Dir.getwd) 

File.basename() devuelve el nombre de la base, incluso cuando su argumento es la ruta de un directorio.

Los siguientes código imprime kiamlaluno para mí, donde /home/kiamlaluno es el directorio inicial en la instalación de Ubuntu.

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

Lo mismo hace puts File.basename(Dir.getwd), cuando el directorio actual es/home/kiamlaluno.

+0

+1 Aunque es un poco engañoso w.r.t. legibilidad – Gishu

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

o no entiendo bien su pregunta?

Actualización: Pruebe uno de los siguientes

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

Sí, quiero tener solo el nombre de la carpeta actual, no la ruta de la carpeta. En este caso: Nombre de usuario. ¿Hay alguna manera de hacer esto en Ruby o tienes que usar regexp? –

+2

File.basename (Dir.getwd) devolverá solo el nombre de la última carpeta. – Teoulas

+1

@ajsie - ver la actualización. – Gishu

Cuestiones relacionadas