Nommage dynamique de variable
rose
-
Smahane -
Smahane -
Bonjour, Bonjour,
mon problème va vous sembler basique mais je ne parviens pas à le résoudre:
dans une boucle for , je souhaite creer i objets et le nom de l'objet doit être
monNom1, puis dans le trour suivant monNom2, bref monNom concaténé à i en fait comment faire????
Merci
mon problème va vous sembler basique mais je ne parviens pas à le résoudre:
dans une boucle for , je souhaite creer i objets et le nom de l'objet doit être
monNom1, puis dans le trour suivant monNom2, bref monNom concaténé à i en fait comment faire????
Merci
A voir également:
- Nommage dynamique de variable
- Tableau croisé dynamique - Guide
- Exemple tableau croisé dynamique télécharger - Télécharger - Tableur
- Liste déroulante dynamique excel - Guide
- Sommaire dynamique word - Guide
- Le nom du champ de tableau croisé dynamique n'est pas valide - Forum Excel
10 réponses
Salut,
Pour moi, si tu utilises v(1), v(2) etc... tu utilises un tableau v et le chiffre entre parenthèse est un indice. Dans ce cas tu ne declares qu'une variable v et tu peux parcourir les valeurs dans une boucle. Si tu fais avec v1, v2 etc... tu es obligé de declarer toutes ces variables, et tu ne peux plus les parourir dans une boucle... Si il y a 3 valeurs à stocker, ce n'est pas génant, mais si tu en as 300, je te laisse imaginer la galère...
Les portes de l'avenir sont ouvertes à ceux qui savent
les pousser...
Pour moi, si tu utilises v(1), v(2) etc... tu utilises un tableau v et le chiffre entre parenthèse est un indice. Dans ce cas tu ne declares qu'une variable v et tu peux parcourir les valeurs dans une boucle. Si tu fais avec v1, v2 etc... tu es obligé de declarer toutes ces variables, et tu ne peux plus les parourir dans une boucle... Si il y a 3 valeurs à stocker, ce n'est pas génant, mais si tu en as 300, je te laisse imaginer la galère...
Les portes de l'avenir sont ouvertes à ceux qui savent
les pousser...
Bonjour,
Je crois que l'utilisation d'un tableau s'impose... J'avais essayé de faire ça dans un de mes tous premiers programme (sur une calculatrice Ti), mais en essayant toutes les possibilités de concatenation ça n'a jamais fonctionné... Tu n'auras pas monnom1, mais monnom(1), c'est exactement pareil.. Après, pour la mise en place en Java, il y a pas mal de monde qui pourra t'aider...
Bon courage,
Les portes de l'avenir sont ouvertes à ceux qui savent
les pousser...
Je crois que l'utilisation d'un tableau s'impose... J'avais essayé de faire ça dans un de mes tous premiers programme (sur une calculatrice Ti), mais en essayant toutes les possibilités de concatenation ça n'a jamais fonctionné... Tu n'auras pas monnom1, mais monnom(1), c'est exactement pareil.. Après, pour la mise en place en Java, il y a pas mal de monde qui pourra t'aider...
Bon courage,
Les portes de l'avenir sont ouvertes à ceux qui savent
les pousser...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mmm... je ne comprend pas bien.
Le nom d'un object est sans importance. C'est sa référence qui importe.
exemple:
a = new objectToto()
b = a
a et b désignent la même référence, c'est à dire le même objet.
Le nom n'a aucune importance.
Si tu veux créer x objets, tu ferais plutôt une boucle du genre (pseudo-code):
v = new vector()
pour i de 1 à 12:
v.add( new objectToto() )
Ainsi tu te retrouve avec un vector v contenant 12 objets de ton choix.
Le nom d'un object est sans importance. C'est sa référence qui importe.
exemple:
a = new objectToto()
b = a
a et b désignent la même référence, c'est à dire le même objet.
Le nom n'a aucune importance.
Si tu veux créer x objets, tu ferais plutôt une boucle du genre (pseudo-code):
v = new vector()
pour i de 1 à 12:
v.add( new objectToto() )
Ainsi tu te retrouve avec un vector v contenant 12 objets de ton choix.
C'est moi que tu ne comprends pas bien?
Dans ton pseudo-code, v correspond à un tableau?
Ce que voulait faire Rose n'est pas, à mon avis, réalisable. Au lieu d'utiliser un tableau, elle voulait créer une nouvelle variable qui changerait de nom en vonction de la valeur de i, c'est à dire qu'au premier passage, on aurait la variable var1, au deuxième var2 et ainsi de suite (enfin, c'est ce que j'ai compris, et ce que j'aurai bien aimé faire il y a quelques temps).
Les portes de l'avenir sont ouvertes à ceux qui savent
les pousser...
Dans ton pseudo-code, v correspond à un tableau?
Ce que voulait faire Rose n'est pas, à mon avis, réalisable. Au lieu d'utiliser un tableau, elle voulait créer une nouvelle variable qui changerait de nom en vonction de la valeur de i, c'est à dire qu'au premier passage, on aurait la variable var1, au deuxième var2 et ainsi de suite (enfin, c'est ce que j'ai compris, et ce que j'aurai bien aimé faire il y a quelques temps).
Les portes de l'avenir sont ouvertes à ceux qui savent
les pousser...
quel difference entre :
v1,v2,v3 et v(1),v(2),v(3).
C pareil!!!?
ou il y a un truc que je comprend pas!!?
v1,v2,v3 et v(1),v(2),v(3).
C pareil!!!?
ou il y a un truc que je comprend pas!!?
rose ? si tu es toujours parmis nous
c'est le titre de ton post qui nous interpelle .
Un variable à pour principale caractéristique de pouvoir changer de valeur dynamiquement (à l'inverse d'une constante), bon ok je sais ca fait un peu basique, mais quel est l'intérêt de changer dynamiquement le nom d'une variable ? (sans changer de valeur ?)
il y a là, dans le concept qqchse de contradictoire, enfin je dis ca ...
moi j'utiliserais la bonne vieille méthode des tableau, méthode qui a largement fait ses preuves du reste.
pour ce qui est de réinventer l'eau chaude...
111 111 111 x 111 111 111 = 12345678987654321
c'est le titre de ton post qui nous interpelle .
Un variable à pour principale caractéristique de pouvoir changer de valeur dynamiquement (à l'inverse d'une constante), bon ok je sais ca fait un peu basique, mais quel est l'intérêt de changer dynamiquement le nom d'une variable ? (sans changer de valeur ?)
il y a là, dans le concept qqchse de contradictoire, enfin je dis ca ...
moi j'utiliserais la bonne vieille méthode des tableau, méthode qui a largement fait ses preuves du reste.
pour ce qui est de réinventer l'eau chaude...
111 111 111 x 111 111 111 = 12345678987654321
Pour en savoir un peu plus (mais pas tout) sur "les tableaux JS, comment çà marche ?", une petite page :
<HTML>
<HEAD>
<TITLE> Test Tableau </TITLE>
<SCRIPT>
function showVar(x) {
val = eval(x) ;
lx = 20 - x.length ;
while ( lx > 0 ) {
x += " " ; lx-- ;
}
dw(" ------------> "+x+" = "+val+"<br>") ;
}
function dw(txt) {
document.write(txt) ;
}
function dws(txt) {
document.write("<B> "+txt+"</B><br>") ;
}
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#80C4C4">
<script>
dw("<pre>") ;
var tab = new Array(3) ; dws('var tab = new Array(3) ;') ;
tab[1] = 321 ; dws(' tab[1] = 321 ;') ;
showVar("tab.length") ;
showVar("tab[0]") ;
showVar("tab[1]") ;
showVar("tab[2]") ;
showVar("tab[3]") ;
var couleurs = new Array(5,1) ; dws('var couleurs = new Array(5,1) ;') ;
showVar("couleurs.length") ;
showVar("couleurs[0]") ;
showVar("couleurs[1]") ;
couleurs[2] = "ajout_en_2" ; dws('couleurs[2] = "ajout_en_2" ;') ;
showVar("couleurs.length") ;
showVar("couleurs[2]") ;
couleurs[4] = "ajout_en_4" ; dws('couleurs[4] = "ajout_en_4" ;') ;
showVar("couleurs.length") ;
showVar("couleurs[3]") ;
showVar("couleurs[4]") ;
couleurs["choux"] = "vert" ; dws('couleurs["choux"] = "vert" ;') ;
couleurs["radis"] = "rose" ; dws('couleurs["radis"] = "rose" ;') ;
couleurs["carotte"] = "rouge" ; dws('couleurs["carotte"] = "rouge" ;') ;
couleurs["choux"+1] = "vert_1" ;dws('couleurs["choux"+1] = "vert_1" ;') ;
showVar("couleurs[\"choux\"+1]") ;
showVar("couleurs['choux1']") ;
showVar("couleurs.choux1") ;
showVar("couleurs.length") ;
showVar("couleurs[choux]") ;
var choux = 1 ; dws('var choux = 1 ;') ;
showVar("couleurs[choux]") ;
showVar("couleurs.choux") ;
showVar("couleurs['radis']") ;
showVar("couleurs['carotte']") ;
showVar("couleurs['choux']") ;
showVar("couleurs['choux1']") ;
showVar("couleurs.choux") ;
</script>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE> Test Tableau </TITLE>
<SCRIPT>
function showVar(x) {
val = eval(x) ;
lx = 20 - x.length ;
while ( lx > 0 ) {
x += " " ; lx-- ;
}
dw(" ------------> "+x+" = "+val+"<br>") ;
}
function dw(txt) {
document.write(txt) ;
}
function dws(txt) {
document.write("<B> "+txt+"</B><br>") ;
}
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#80C4C4">
<script>
dw("<pre>") ;
var tab = new Array(3) ; dws('var tab = new Array(3) ;') ;
tab[1] = 321 ; dws(' tab[1] = 321 ;') ;
showVar("tab.length") ;
showVar("tab[0]") ;
showVar("tab[1]") ;
showVar("tab[2]") ;
showVar("tab[3]") ;
var couleurs = new Array(5,1) ; dws('var couleurs = new Array(5,1) ;') ;
showVar("couleurs.length") ;
showVar("couleurs[0]") ;
showVar("couleurs[1]") ;
couleurs[2] = "ajout_en_2" ; dws('couleurs[2] = "ajout_en_2" ;') ;
showVar("couleurs.length") ;
showVar("couleurs[2]") ;
couleurs[4] = "ajout_en_4" ; dws('couleurs[4] = "ajout_en_4" ;') ;
showVar("couleurs.length") ;
showVar("couleurs[3]") ;
showVar("couleurs[4]") ;
couleurs["choux"] = "vert" ; dws('couleurs["choux"] = "vert" ;') ;
couleurs["radis"] = "rose" ; dws('couleurs["radis"] = "rose" ;') ;
couleurs["carotte"] = "rouge" ; dws('couleurs["carotte"] = "rouge" ;') ;
couleurs["choux"+1] = "vert_1" ;dws('couleurs["choux"+1] = "vert_1" ;') ;
showVar("couleurs[\"choux\"+1]") ;
showVar("couleurs['choux1']") ;
showVar("couleurs.choux1") ;
showVar("couleurs.length") ;
showVar("couleurs[choux]") ;
var choux = 1 ; dws('var choux = 1 ;') ;
showVar("couleurs[choux]") ;
showVar("couleurs.choux") ;
showVar("couleurs['radis']") ;
showVar("couleurs['carotte']") ;
showVar("couleurs['choux']") ;
showVar("couleurs['choux1']") ;
showVar("couleurs.choux") ;
</script>
</BODY>
</HTML>
est ce
comment je peut faire ça exactement?