Ruby, obtenant le chemin du chemin + le nom du fichier


88

Langage de programmation: Ruby 1.9

Chaîne de problème: C:/Test/blah.txt
àC:/Test/

Je sais que c'est une question facile, mais Google et la référence rapide Ruby Filen'ont pas de solution pour moi.
Et je n'ai aucune expérience avec Regex.

Réponses:


171

Utilisez la File.dirnameméthode Ruby .

File.dirname("C:/Test/blah.txt")
# => "C:/Test" 

4
Pour moi, File.dirname("/a/b/c/d")renvoie correctement /a/b/cmais File.dirname("/a/b/c/d/")(barre oblique finale) renvoie également/a/b/c .
Jason

3
Il y a tout simplement trop d'informations sans contexte dans la documentation ruby ​​pour trouver ~ exactement ~ ce que vous cherchez en ce moment. Idéal pour rafraîchir si vous le saviez déjà ou étudier si vous essayez de tout savoir, horrible si vous êtes sur un projet et avez juste besoin de savoir cette seule chose. Merci beaucoup pour cette réponse, cela m'a rendu la vie beaucoup plus facile.
JackChance

0

Plus polyvalente serait la classe Ruby Pathname:

require 'pathname'

pn = Pathname.new("C:/Test/blah.txt")
p pn.dirname.to_s + Pathname::SEPARATOR_LIST

ce qui donne C:/Test/.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.