Page 1 sur 1
[R] Acceder à un tableau de tableau
Posté : mer. 24 févr. 2010 14:35
par keltharak
Bonjour,
J'ai une question toute bête, j'ai un tableau qui contient d'autres tableaux, est-il possible d'accéder directement à une valeur d'un "sous-tableau" et si oui comment ???
par exemple :
Code : Tout sélectionner
Dim $niv1[3]
Dim $niv21[3]
$niv21[0] = "a"
$niv21[1] = "b"
$niv21[2] = "c"
$niv1[0] = $niv21
Comment sortir le "b" en une seule étape ?
j'ai essayé $niv1[0].[1] , $niv1[0][1] mais ça marche pas...
Merci d'avance.
Re: [..] Acceder à un tableau de tableau
Posté : mer. 24 févr. 2010 14:46
par pop45
$niv1[0] = $niv21[1] tout simplement
Je vois pas trop se qu'il y a de difficile

Re: [..] Acceder à un tableau de tableau
Posté : mer. 24 févr. 2010 15:01
par keltharak
hum... je doute que ce soit ça, avec cette ligne je vais mettre "b" dans $niv1[0] et je vais perdre mon tableau contenu dans cette case.
La solution que j'ai trouvé pour l'instant c'est de mettre une case dans un tableau temporaire pour travailler dessus, mais je trouve pas ça terrible.
Code : Tout sélectionner
$tmp = $niv1[0]
Msgbox(0, "test", 'le fameux "b" : ' & $tmp[1])
Re: [..] Acceder à un tableau de tableau
Posté : mer. 24 févr. 2010 17:49
par pop45
Je comprend pas se que tu veut faire appart metre la valuer de $niv21[1] qui est b dans $niv1
Re: [..] Acceder à un tableau de tableau
Posté : mer. 24 févr. 2010 18:14
par Tlem
Il me semble que j'avais vu cette info quelque part, mais je n'en avais pas fait cas, car il est fortement déconseillé de procéder de la sorte.
Après quelques recherche je n'ai pas retrouvé l'info, mais ceci :
http://www.autoitscript.com/forum/index ... t&p=741236
Re: [..] Acceder à un tableau de tableau
Posté : mer. 24 févr. 2010 18:24
par Iste
Le seul moyen que j'ai a vous proposer est de récup le tableau dans une variable temps
Code : Tout sélectionner
Dim $niv1[3]
Dim $niv21[3]
$niv21[0] = "a"
$niv21[1] = "b"
$niv21[2] = "c"
$niv1[0] = $niv21
$testRecup = $niv1[0]
MsgBox('','',$niv21[0]&$niv21[1]&$niv21[2])
Re: [..] Acceder à un tableau de tableau
Posté : mer. 24 févr. 2010 20:16
par keltharak
Merci pour ces conseil, J'ai utilisé la solution de Iste puisqu'il semble que ce soit la seule, mais ce n'est pas du tout pratique pour moi. Je m'excuse auprès de tout les dieux de l'autoIT ici présent mais je vais garder cette structure de tableaux imbriqués car je ne vois pas comment réorganiser ma structure de donnée autrement (à part la base de donnée effectivement mais j'ai pas vraiment envi de monter un serveur SQL juste pour mes quelques lignes de code...).
Pour expliqué mon problème à pop45, j'utilise le premier tableau pour en stocker d'autres (2 d'affilés en fait, quitte à abuser hein !), un peu comme une structure en C. Je veux ensuite accédé au donné contenues dans cet espèce "d'arbre" que j'ai créé mais sans forcément avoir à extraire les tableaux les uns après les autres pour accédé au données finales. Dans l'idée je voulais avoir quelque chose de proche du C ou du java : conteneur1.conteneur2.conteneur3.valeur
Merci encore à tous et je promet que la prochaine fois je réfléchirai à autre chose.
Re: [R] Acceder à un tableau de tableau
Posté : mer. 24 févr. 2010 21:33
par Tlem
Que je sache, il n'y à aucun dieux de l'autoIT sur ce forum ...
Pour la base de donnée, comme il est dit sur le lien que je vous ai donné, un simple fichier suffit voir même directement en mémoire puisque AutoIt embarque une version light de Sql (voir fonction
_SQLite_XXX()).
Sinon en ce qui concerne votre structure en tableau, si vos 'sous tableaux' ont la même taille, pourquoi ne pas utiliser un simple tableau 2D.
Ensuite il vous suffit de faire une petite fonction qui place les éléments du tableau d'origine dans le 'multi-tableau' de destination (chaque colonne représentant le tableau d'origine).
Re: [R] Acceder à un tableau de tableau
Posté : jeu. 25 févr. 2010 19:18
par keltharak
Et en plus les dieux sont modestes ici !
Merci pour ces indications, je vais me pencher sur ce SQL chargé en mémoire, ça m'intrigue.