come ottenere la directory di lavoro percorso assoluto corrente IRB
-
20-09-2019 - |
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
Soluzione
Dir.pwd
sembra fare il trucco.
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"