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

Langage Perl Discussion :

[langage] Table Dynamique sous PERL ?


Sujet :

Langage Perl

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 57
    Points : 31
    Points
    31
    Par défaut [langage] Table Dynamique sous PERL ?
    Je voudrais creer une table ds un boucle qui serait unique, pour chaque avancee ds la boucle.
    De telle sorte a ne pas ecraser les informations se trouvant dans la table d avant.

    En gros je voudrais: pour $i allant de 1 a 5
    @table($i)----> @table1, @table2,...

    C possible a realiser ?

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 57
    Points : 31
    Points
    31
    Par défaut
    J avais penser faire une table des tables ms ca fonctionne po
    Help pitier a l aide lol

  3. #3
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    oui !

    La preuve en une ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -e '@table1=qw(a b c);@table2=(10, 20, 30);$i="table".1;print ${$i}[2]."\n";$i="table".1;print ${$i}[2]."\n"'
    En gros, tu mets ton nom de table dans une variable, mettons $nom, et tu accède aux éléments de la table par ${$nom}[$numero].

    [Edit]
    Le principe est le même avec les tables de hachage : table %{$nom} et élément ${$nom}{$cle} ...
    [/Edit]
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    tu peux faire un hash. a chaque clé et associé un tableau comme valeur.

    ou si tu travail dans le même tablleau faire un push a chaque boucle pour rajouter des données dans le tableau

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 57
    Points : 31
    Points
    31
    Par défaut
    J ai essaye de fiare un truc tres simple ms ca deconne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $i="table";
    $j= 2;
     
    ${$i}[$j]=("dsd","cd","cdvfd");

    Mwouauaahahhala faute :'D

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    @{$i}[$j]=("dsd","cd","cdvfd");
    Ca vas tj po a ne pas recopier lol

  6. #6
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Citation Envoyé par Slippers
    J ai essaye de fiare un truc tres simple ms ca deconne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $i="table";
    $j= 2;
     
    ${$i}[$j]=("dsd","cd","cdvfd");
    plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    %saison = ('toto' => ['test1'],
                      'titi' => ['aaaaa', 'rrrtrt','poutrh']);

  7. #7
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Citation Envoyé par Slippers
    J ai essaye de fiare un truc tres simple ms ca deconne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $i="table";
    $j= 2;
     
    ${$i}[$j]=("dsd","cd","cdvfd");
    Plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $i="table";
    $j= 2;
     
    @{$i.$j}=("dsd","cd","cdvfd");
    C'est une liste que tu mets, donc il te faut adresser tout le tableau ...

    Pour récupérer "cd", tu prends ${i.$j}[1].
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 57
    Points : 31
    Points
    31
    Par défaut
    NIKEL merci a tous =)

  9. #9
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Je te recommande très vivement de ne pas t'engager dans cette voie : les références symbolique comme on les appelle sont une fausse bonne idée... Les employer mène très rapidement à un bordel innommable comme te l'assureront tous les développeurs expérimentés ! A la place utilise plutôt les hashs (ou tableaux associatifs) qui te fourniront les mêmes fonctionnalités avec plus de sécurité et de lisibilité (regarde le post de djibril).

    --
    Jedaï

  10. #10
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Je suis d'accord avec Jedai sur le conseil de ne pas t'engager trop dans la voie des "références symboliques" (variables dont le nom est le contenu d'autres vairables). C'est très délicat à manipuler efficacement, et surtout très difficile à maintenir pour ceux qui n'ont pas participé à leur écriture (ou alors, il faut une doc en béton armé !).

    Par contre, je considère cela comme une construction extêmement intéressante. Leur usage doit être réservé aux cas "désespérés" - quand on ne peut vraiment pas faire autrement. Je n'en ai rencontré - jusque là - qu'un emploi pertinent dans un script de génération de code.

    Donc, méfiance. Dans la plupart des cas, il y a plus à perdre qu'à gagner en les utilisant.

    L'usage de tables de hachage ou de tableaux contenant des références anonymes sur d'autres tableaux ou tables de hachage est souvent plus facile à comprendre (ça donne simplement une impression de tableaux imbriqués).

    Bonne continuation.
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

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

Discussions similaires

  1. [AC-2003] Sous formulaire et table dynamiques
    Par zitoune92 dans le forum IHM
    Réponses: 8
    Dernier message: 18/11/2014, 10h01
  2. Créer dynamiquement une table Paradox sous DELPHI
    Par tarbala dans le forum Bases de données
    Réponses: 2
    Dernier message: 04/03/2009, 10h15
  3. Réponses: 4
    Dernier message: 02/02/2009, 09h45
  4. [langage] Pb avec Active perl :s
    Par Cetras dans le forum Langage
    Réponses: 2
    Dernier message: 02/09/2003, 13h28
  5. [langage] Commande Unix en Perl
    Par totox17 dans le forum Langage
    Réponses: 3
    Dernier message: 20/11/2002, 10h59

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