2010-08-27 24 views

risposta

26
dirname = File.basename(Dir.getwd) 

File.basename() restituisce il nome di base, anche quando il suo argomento è il percorso di una directory.

Il codice seguente stampa kiamlaluno per me, dove /home/kiamlaluno è la home directory nella mia installazione di Ubuntu.

puts File.basename('/home/kiamlaluno') 

Lo stesso fa puts File.basename(Dir.getwd), quando la directory corrente è/home/kiamlaluno.

+0

+1 È un po 'fuorviante anche se w.r.t. leggibilità – Gishu

7
irb(main):001:0> Dir.getwd 
=> "C:/Documents and Settings/UserName" 

o ho frainteso la tua domanda?

Aggiornamento: Provare una delle sotto

File.split(Dir.getwd)[-1] 
Pathname.new(Dir.getwd).basename.to_s 
+0

Sì, voglio avere solo il nome della cartella corrente, non il percorso della cartella. In questo caso: UserName. C'è un modo per farlo in Ruby o devi usare regexp? –

+2

File.basename (Dir.getwd) restituirà solo l'ultimo nome della cartella. – Teoulas

+1

@ajsie - vedi aggiornamento. – Gishu

Problemi correlati