Come si ottiene il nome della directory corrente in Ruby? Tutto quello che ho trovato è File.dirname(__FILE__)
, ma restituisce solo .
e voglio il nome effettivo. Come faccio a fare questo?Come posso ottenere il nome della directory corrente in Ruby?
15
A
risposta
31
dirname = File.basename(Dir.getwd)
File.basename()
restituisce il nome di base, anche quando il suo argomento è il percorso di una directory.
Per ottenere assoluta percorso, Dir.pwd sembra fare il trucco.
8
File.expand_path(File.dirname(File.dirname(__FILE__)))
20
In Ruby 2.0 o superiore, è possibile utilizzare Kernel#__dir__
:
__dir__
Dalla documentazione:
Restituisce il percorso assoluto canonicalized della directory del file da cui viene chiamato questo metodo .
+0
Come menzionato nella domanda - "che restituisce solo e voglio il nome effettivo" (è vero anche per ruby> = 2.0.0, ad esempio Ruby 2.3.3). –
Perché i due 'dirnames'? –