Pregunta

Estoy corriendo de Ruby en Windows, aunque no sé si eso debería hacer una diferencia. Todo lo que quiero hacer es conseguir ruta absoluta del directorio de trabajo actual. ¿Es esto posible del IRB? Al parecer, desde un script que es posible utilizando File.expand_path(__FILE__)

Pero desde IRB He intentado lo siguiente y consiguió un "Permiso denegado" error:

File.new(Dir.new(".").path).expand
¿Fue útil?

Solución

Otros consejos

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

Pero Dir.pwd devuelve el directorio de trabajo (resultados idénticos a ejecutar pwd en su terminal)

En cuanto a la ruta relativa a la secuencia de comandos de ejecución actual, ya que Rubí 2.0 también se puede utilizar

__dir__

Así que esto es básicamente el mismo que

File.dirname(__FILE__)

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

File.dirname(__FILE__)

Ejemplo:

current_file: "/Users/nemrow/SITM/folder1/folder2/amazon.rb"

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

Si desea obtener la ruta completa del directorio del archivo rb actual:

File.expand_path('../', __FILE__)

A través de este se puede obtener la ruta absoluta de cualquier archivo que se encuentra en cualquier directorio.

File.join(Dir.pwd,'some-dir','some-file-name')

Esto devolverá

=> "/User/abc/xyz/some-dir/some-file-name"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top