2010-08-27 2 views

Répondre

26
dirname = File.basename(Dir.getwd) 

File.basename() retourne le nom de base, même si son argument est le chemin d'un répertoire.

Les impressions de code suivant de kiamlaluno pour moi, où /home/kiamlaluno est le répertoire dans mon installation Ubuntu.

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

La même chose ne puts File.basename(Dir.getwd), lorsque le répertoire courant est/home/kiamlaluno.

+0

+1 C'est un peu trompeur mais w.r.t. lisibilité – Gishu

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

ou ai-je mal compris votre question?

Mise à jour: Essayez l'un des ci-dessous

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

Oui, je veux avoir seulement le nom du dossier actuel, pas le chemin du dossier. Dans ce cas: UserName. Existe-t-il un moyen de le faire dans Ruby ou devez-vous utiliser regexp? –

+2

File.basename (Dir.getwd) renverra uniquement le nom du dernier dossier. – Teoulas

+1

@ajsie - voir la mise à jour. – Gishu

Questions connexes