< Ruby
fin de la boite de navigation du chapitre

Vous connaissez les variables et les constantes ? Maintenant, place aux tableaux et aux hachages qui vous permettent également de stocker des données.

Les tableaux

Définition

Un tableau est une structure pouvant stocker des données. Des données de types différents peuvent cohabiter dans un même tableau (par exemple, un nombre et une chaîne de caractères). Un tableau est délimité par des crochets et ses éléments sont séparés par des virgules.


Exemple
tab = [] # tableau vide
prix = [30, 400, 25, 73] # tableau contenant des entiers
puts prix # affichage de toutes les valeurs du tableau

langues = ["fr", "en"] # tableau de chaînes de caractères
puts langues

mix = 4, "quatre" # tableau mixte
puts mix
Fin de l'exemple


Les crochets ne sont pas obligatoires, quel que soit le type des éléments contenus dans le tableau.

Accéder à un élément

Chaque élément du tableau est associé à un nombre (un entier naturel) qui représente la case du tableau qu’il occupe ; la première case correspond à l'indice 0. Un exemple pour vous éclairer :

Exemple
prix = [30, 400, 25, 73]
puts prix[3] # => 73
Fin de l'exemple


prix[0] correspond au premier élément du tableau. Ce tableau contient 4 éléments donc 3 est l'indice du dernier élément, désigné par prix[3].

Ajouter un élément à un tableau

Pour ajouter un élément à la fin de votre tableau, vous pouvez utiliser l'opérateur << que vous avez déjà vu pour les chaînes de caractères (dans le chapitre consacré aux opérateurs).

Exemple
t = []
t << 3
t << "bonjour"
t << 7.4
Fin de l'exemple


Vous pouvez également vous en servir pour concaténer deux tableaux (les mettre bout à bout) :

Exemple
t = [4, 7, 3] ; s = [6, 8]
t << s
# => [4, 7, 3, [6, 8]]
# Pour ajouter réellement les valeurs de s à t =
t += s
# => [1, 7, 3, 6, 8]
Fin de l'exemple

Les hachages

Définition

Les hachages sont des tableaux particuliers : au lieu d'associer une valeur à son indice (la place qu'elle occupe dans le tableau), elle sera associée à une clé (un mot).

La seconde différence essentielle avec les tableaux ordinaires est l’utilisation d'accolades dans la déclaration des éléments à la place de crochets. Les accolades ne sont pas facultatives.


Exemple
livre = {
  "titre" => "Toto perd la tête",
  "auteur"  => "Toto",
  "sujet"   => "La vie de Toto"
 }
Fin de l'exemple


Accéder à un élément

Dans le hachage livre, "Toto" est associé à la clé "auteur", cette valeur est désignée par livre["auteur"] :

Exemple
puts livre["auteur"] # => Toto
Fin de l'exemple


Si on avait eu recours à un tableau, on aurait utilisé livre[1] pour désigner "Toto".

Lorsque les données sont du mêmes type, et qu’elles appartiennent à un même ensemble (par exemple : la suite des nombres premiers jusqu'à 1000, la liste des prénoms de vos amis, etc.), un tableau est plus indiqué. Dans tous les autres cas, un hachage conviendrait mieux.


Cet article est issu de Wikiversity. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.