96 votes

Ruby, obtenir le chemin d'accès à partir de chemin+nom de fichier

Langage de programmation : Ruby 1.9

Problème de chaîne : C:/Test/blah.txt
à C:/Test/

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

181voto

Simone Carletti Points 77653

Utiliser le logiciel Ruby File.dirname méthode.

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

5 votes

Pour moi, File.dirname("/a/b/c/d") renvoie correctement /a/b/c mais File.dirname("/a/b/c/d/") (barre oblique) également retours /a/b/c .

3 votes

Il y a juste trop d'informations sans contexte dans les docs de ruby pour trouver ~exactement~ ce que vous cherchez en ce moment. Il n'y a pas d'autre solution que d'étudier la documentation de ruby pour se remettre à niveau si on la connaît déjà ou pour étudier si on veut tout savoir, mais c'est horrible si on est sur un projet et qu'on a juste besoin de savoir une seule chose. Merci beaucoup pour cette réponse, elle m'a rendu la vie beaucoup plus facile.

1voto

Twonky Points 557

La classe Ruby Pathname serait plus polyvalente :

require 'pathname'

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

ce qui donne C:/Test/ .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X