Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1161 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  Variables de type variable, c'est possible ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Variables de type variable, c'est possible ?

n°763723
Rasthor
Posté le 15-06-2004 à 00:35:28  profilanswer
 

Je m'explique:
 
Imaginons que j'ai un tableau comme ceci:
 
@mon_tableau('soleil','lune','terre','pluton')
 
Est-ce que j'ai la possibilité de créer les variable à partir des noms contenu dans le tableau ?
 
De sorte que j'obtienne:
 
my $soleil;
my $lune;
my $terre;
my $pluton;
 
 
J'avais pensé faire une boucle de type foreach:
 
 
foreach my $planete (@tableau) {
  $$planete = $meteo{$planete};
}
 
Mais évidemment, ça ne marche pas.


Message édité par Rasthor le 15-06-2004 à 00:37:12
mood
Publicité
Posté le 15-06-2004 à 00:35:28  profilanswer
 

n°763750
matafan
Posté le 15-06-2004 à 02:58:21  profilanswer
 

Si, ça marche. Mais ce n'est quasiment jamais la bonne solution, et c'est même interdit avec « use strict » (qui devrait être obligatoire :D). Pourquoi as-tu besoin de faire ça ?


Message édité par matafan le 15-06-2004 à 02:58:37
n°763930
pospos
Posté le 15-06-2004 à 11:05:00  profilanswer
 

oui c'est une demarche typique de débutant, mais comme le dit matafan ca n'est jamais une bonne solution (surtout en terme de vitesse, malgres ce qu'on pourrais penser!).
C'est faisable avec un eval ou en faisant un peit 'no strict', mais je te le deconseil franchement
 
la bonne solution ici serait d'utiliser un hash:

Code :
  1. foreach (@mon_tableau) {
  2.    $hash{$_} = $meteo{$_};
  3. }


 
de toutes facon TOUTES les variables de Perl sont contenues en interne dans un hash:

Code :
  1. print join("\n", keys %main::);


n°764841
Rasthor
Posté le 15-06-2004 à 19:41:28  profilanswer
 

matafan a écrit :

Si, ça marche. Mais ce n'est quasiment jamais la bonne solution, et c'est même interdit avec « use strict » (qui devrait être obligatoire :D).

Comme j'utilise tout le temps "use strict", c'est pour ça que  ça en marche pas. ;)
 

Citation :

Pourquoi as-tu besoin de faire ça ?


 
Je ne sais plus [:totoz]
 
Je crois que c'était pour initialiser des tables de hash afin de créer des fichiers DBM.
 
 
Mais comme c'est du PERL, il y'a plus d'une façon de faire ce que l'on veut. ;) Donc j'ai réussi à contourner le problème d'une autre manière. (mais pas propre... re-[:totoz])


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  Variables de type variable, c'est possible ?

 

Sujets relatifs
incrementation dans les noms de variablesUndefined variables : meilleure solution ?
recuperer une variable javascript dans du code php entre 2 pagestype d'une difference de pointeurs
Copier une table, possible ?[PHP] Confirmer un formulaire en Javascript et garder les variables
affecter une variable [newbie][PHP] Type mime différent selon les navigateur ?
[php afficher une ]variableStocker une donnée dans une variable | RESOLU
Plus de sujets relatifs à : Variables de type variable, c'est possible ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR