IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ruby Discussion :

Connaitre le dossier parcouru par un each


Sujet :

Ruby

  1. #1
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Points : 53
    Points
    53
    Par défaut Connaitre le dossier parcouru par un each
    Bonsoir à tous,

    J'ai ce script qui fonctionne mais j'ai quand même un soucis au niveau du résultat, le voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    dir = "/chemin/"
     files = []
     
     Dir.entries(dir).each do |file|
         next if file == "." || file == ".."
         path = dir + file
         if File.directory? path
             Dir.entries(path).each do |subFile|
                  next if subFile == "." || subFile == ".."
                  files.push dir + subFile if subFile.match(/^([0-9]{2}-chapter[0-9]+.markdown)$/)
             end
         end
    end
     
    files.sort!
    puts files
    Donc je trouve bien mes fichiers recherché avec ma RegEx, j'ai aussi dans mon tableau files le chemin de la variable dir mais entre les deux il me manque le dossier parcouru par le each qui a la var subFile. J'aimerais pouvoir faire quelque chose comme subFile.path

    J'ai essayé plein de trucs, y compris d'ailleurs path, realpath et realdirpath dans ce each mais au pire ça ne fonctionne pas (erreur) où alors je me retrouve avec "." ou le nom du fichier mais sans son chemin complet.

    Bref, je suis coincé et je n'arrive pas à résoudre ce problème.

    Pour résumer je me retrouve avec une chaine de caractère : "/monCheminRelatifMenantAuxFichiers(ma-var-dir)/fichier" au lieu de "/monCheminRelatifMenantAuxFichiers(ma-var-dir)/DOSSIER-MANQUANT/fichier"

    Quelqu'un pourrait-il m'aider ? J'espère avoir été assez clair...

  2. #2
    Membre émérite
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Points : 2 834
    Points
    2 834
    Par défaut
    Ligne 10 tu concatènes dir et subfile mais dir est toujours le chemin du répertoire de plus haut niveau : "/chemin/" donc forcément tu sautes un étage dans ton chemin final.

    Il faudrait plutôt faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    files.push path + subFile if subFile.match(/^([0-9]{2}-chapter[0-9]+.markdown)$/)
    Et comme ton path n'aura probablement pas de "/" final, l'ajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    files.push File.join(path, subFile) if subFile.match(/^([0-9]{2}-chapter[0-9]+.markdown)$/)
    Edit: autant pour moi !

  3. #3
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Points : 53
    Points
    53
    Par défaut
    Flûte, je me suis embrouillé avec File.path et compagnie, effectivement c'est bon comme ça. Par contre c'est pas Dir.joint() mais File.join(), un détail

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/06/2006, 23h05
  2. [Répertoire] supprimer dossier commençant par _
    Par BigBarbare dans le forum Langage
    Réponses: 3
    Dernier message: 12/04/2006, 15h55
  3. Hauteur verticale déjà parcourue par la scrollbar
    Par nicolas.pied dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/03/2006, 09h43
  4. Connaitre le dossier cible d'un clique
    Par nostroyo dans le forum Windows
    Réponses: 9
    Dernier message: 13/01/2006, 09h58
  5. comment connaitre la memoire utilisée par une appli?
    Par afrikha dans le forum Autres Logiciels
    Réponses: 11
    Dernier message: 19/11/2005, 21h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo