¿Cómo obtener la ruta absoluta del directorio de trabajo actual en Ruby?

Resuelto Dexygen asked hace 15 años • 6 respuestas

Estoy ejecutando Ruby en Windows, aunque no sé si eso debería marcar la diferencia. Todo lo que quiero hacer es obtener la ruta absoluta del directorio de trabajo actual. ¿Es esto posible desde irb? Aparentemente desde un script es posible usarFile.expand_path(__FILE__)

Pero desde irb intenté lo siguiente y obtuve el error "Permiso denegado":

File.new(Dir.new(".").path).expand
Dexygen avatar Dec 21 '09 08:12 Dexygen
Aceptado

Dir.pwdes el directorio de trabajo actual

http://ruby-doc.org/core/Dir.html#method-c-pwd

user85509 avatar Dec 21 '2009 01:12 user85509

File.expand_path File.dirname(__FILE__)devolverá el directorio relativo al archivo desde el que se llama este comando.

Pero Dir.pwddevuelve el directorio de trabajo (los resultados son idénticos a los de ejecutar pwden su terminal)

Psylone avatar Sep 26 '2011 08:09 Psylone

En cuanto a la ruta relativa al script en ejecución actual, desde Ruby 2.0 también puedes usar

__dir__

Entonces esto es básicamente lo mismo que

File.dirname(__FILE__)
udo avatar Mar 19 '2015 15:03 udo

Esto le dará el directorio de trabajo del archivo actual.

File.dirname(__FILE__)

Ejemplo:

archivo_actual: "/Usuarios/nemrow/SITM/carpeta1/carpeta2/amazon.rb"

resultado: "/Usuarios/nemrow/SITM/carpeta1/carpeta2"