Domanda

Sono in esecuzione di Ruby su Windows anche se non so se che dovrebbe fare la differenza. Tutto quello che voglio fare è ottenere il percorso assoluto della directory di lavoro corrente. Questo è possibile da IRB? A quanto pare da uno script è possibile utilizzando File.expand_path(__FILE__)

Ma da IRB ho provato quanto segue e ottenuto un "Permesso negato" l'errore:

File.new(Dir.new(".").path).expand
È stato utile?

Soluzione

Altri suggerimenti

File.expand_path File.dirname(__FILE__) restituirà la directory relativa al file questo comando viene chiamato da.

Ma Dir.pwd restituisce la directory di lavoro (risultati identici a eseguire pwd nel terminale)

Per quanto riguarda il percorso relativo allo script in esecuzione corrente, dal momento che Rubino 2.0 è anche possibile utilizzare

__dir__

Quindi questo è fondamentalmente lo stesso come

File.dirname(__FILE__)

Questo vi darà la directory di lavoro del file corrente.

File.dirname(__FILE__)

Esempio:

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

risultato: "/ Users / nemrow / SITM / folder1 / folder2"

Se si desidera ottenere il percorso completo della directory del file rb corrente:

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

Attraverso questo si può ottenere il percorso assoluto di qualsiasi file che si trova in qualsiasi directory.

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

Ciò restituirà

=> "/User/abc/xyz/some-dir/some-file-name"
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top