Ex-Admin-Script
Age : 42 Inscrit le : 26/05/2008 Messages : 2360
| Sujet: Re: Cours #2 : Les Tableaux et les contrôles. Ven 19 Fév 2010 - 13:21 | |
| Bah, ça peut arriver... En fait, les int sont classer en ordre numérique et les string en ordre alphabétique normalement. L'ordre reste toujours le même... (Je crois que c'est le int d'abord et les string ensuite, mais je ne suis pas certain puisque le vrai classement se fait au niveau binaire, pas logique humaine).
En effet, si tu veux quelque chose dans l'ordre, soit tes clés sont toutes du même type et tu suis ta propre logique, soit tu utilise un array plutôt qu'un hash. Les hash sont pratique quand tu veux accédé à un membre particulier par une description plutôt qu'un index, mais sinon, c'est les array qui sont le plus souvent utilisés. |
|
Va-nu-pieds Lv.4
Age : 28 Avertissements : 1 Inscrit le : 10/07/2009 Messages : 60
| Sujet: Re: Cours #2 : Les Tableaux et les contrôles. Ven 19 Fév 2010 - 21:48 | |
| D'accord alors dans le fond je peux pas déterminer dans quel ordre les valeurs d'un hash apparaitront? (sauf si je met des clés en ordre alphabétique et les chiffres en ordre numérique) |
|
Ex-Admin-Script
Age : 42 Inscrit le : 26/05/2008 Messages : 2360
| Sujet: Re: Cours #2 : Les Tableaux et les contrôles. Ven 19 Fév 2010 - 22:19 | |
| Mais généralement, les clés sont des descriptifs, donc des strings. Également, les hash sont utiliser pour le "datagatering" (rassemblement de données). On les utilise plutôt rarement dans un boucle car ce qui nous intéresse, c'est une seule donnée du hash, contrairement aux arrays qui sont un rassemblement de données ayant un points commun (un vecteur d'âge, de temps, de quantité, de niveau...). Eux sont toujours dans l'ordre entré allant de 0 à la taille -1 . Donc un dans l'autre, ça n'a pas vraiment d'importance l'ordre dans le quel un hash apparaît... Avec le "value" et "key" il est possibile de faire le lien entre les deux... |
|
Poulet carnivore Lv.2
Age : 30 Inscrit le : 01/03/2011 Messages : 16
| Sujet: Re: Cours #2 : Les Tableaux et les contrôles. Mar 28 Juin 2011 - 18:15 | |
| Je ne suis pas capable de faire le test #2. Je sais que c'est pathétique mais je ne réussi pas à mettre tous les variables de mon tableau en une seul case.... De l'aide s.v.p |
|
Invité
| Sujet: Re: Cours #2 : Les Tableaux et les contrôles. Mar 28 Juin 2011 - 18:19 | |
| - bobe132 a écrit:
- Je ne suis pas capable de faire le test #2. Je sais que c'est pathétique mais je ne réussi pas à mettre tous les variables de mon tableau en une seul case....
De l'aide s.v.p Que veux-tu dire par "en une seule case" ? Edit : j'y crois pas... Quelqu'un pose une question, tu lui demandes de reformuler pour pouvoir l'aider, et le gars disparaît... Hum... |
|
Citadin Lv.7
Age : 35 Inscrit le : 17/05/2010 Messages : 212
| Sujet: Re: Cours #2 : Les Tableaux et les contrôles. Mar 19 Juil 2011 - 12:01 | |
| Donc tu dois avoir un tableau de 5 membres. Pour ça on va décomposer les étapes proprement, soit tu fais ça: - Code:
-
mon_tableau = [33, 45, "Membre divers", 7, "lol"] soit - Code:
-
mon_tableau = Array.new mon_tableau << 33 mon_tableau << 45 mon_tableau << "Membre divers" mon_tableau << 7 mon_tableau << "lol" Tu auras donc un tableau remplis de 5 elements, maintenant, il faut tous les afficher. La méthode bourrine serait : - Code:
-
print mon_tableau[0] print mon_tableau[1] print mon_tableau[2] print mon_tableau[3] print mon_tableau[4]
Qui est longue à rédiger et qui ne fonctionne que si la taille du tableau est connue à l'avance. Ore, c'est rarement le cas. Pour connaitre, dans une variable la taille d'un tableau, on propose mon_tableau.length, au moyen d'une boucle for, il est possible d'itérer chaque élement du tableau: - Code:
-
for i in 0 ... mon_tableau.length print mon_tableau[i] end
La dernière méthode que je préfère, consiste à utiliser une méthode de l'Objet tableau, each;: - Code:
-
mon_tableau.each{|une_cellule| print une_cellule }
Sinon, il est aussi envisageable de concaténer les valeur dans une seule variable pour ensuite n'avoir à afficher que cette variable. Voici une solution - Code:
-
str_data = "" mon_tableau.each{|une_cellule| str_data += (une_cellule.to_s)+" " } print str_data
Bonne chance |
|
| Sujet: Re: Cours #2 : Les Tableaux et les contrôles. | |
| |
|