Le stockage de variables dans des variables est une chose courante dans Ruby et est souvent appelé «structure de données». Il existe de nombreuses variétés de structures de données, dont la plus simple est le tableau.
Les programmes doivent souvent gérer des collections de variables. Par exemple, un programme qui gère votre calendrier doit avoir une liste des jours de la semaine. Chaque jour doit être stocké dans une variable, et une liste d'entre eux peut être stockée ensemble dans une variable de tableau. Grâce à cette variable de tableau, vous pouvez accéder à chacun des jours.
Vous pouvez créer un tableau vide en créant un nouvel objet Array et en le stockant dans une variable. Ce tableau sera vide; vous devez le remplir avec d'autres variables pour l'utiliser. C'est une manière courante de créer des variables si vous deviez lire une liste de choses à partir du clavier ou d'un fichier.
Dans l'exemple de programme suivant, un tableau vide est créé à l'aide de la commande array et de l'opérateur d'affectation. Trois chaînes (séquences de caractères ordonnées) sont lues à partir du clavier et «poussées» ou ajoutées à la fin du tableau..
#! / usr / bin / env rubis
array = Array.new
3. fois
str = gets.chomp
array.push str
fin
Une autre utilisation des tableaux est de stocker une liste de choses que vous savez déjà lorsque vous écrivez le programme, comme les jours de la semaine. Pour stocker les jours de la semaine dans un tableau, vous pouvez créez un tableau vide et ajoutez-les un par un au tableau comme dans l'exemple précédent, mais il existe un moyen plus simple. Vous pouvez utiliser un tableau littéral.
En programmation, un «littéral» est un type de variable intégré au langage lui-même et doté d'une syntaxe spéciale pour le créer. Par exemple, 3 est un littéral numérique et "Rubis" est un littéral de chaîne. Un littéral de tableau est une liste de variables entre crochets et séparées par des virgules, comme [1, 2, 3]. Notez que tout type de variables peut être stocké dans un tableau, y compris les variables de différents types dans le même tableau.
L'exemple de programme suivant crée un tableau contenant les jours de la semaine et les imprime. Un littéral de tableau est utilisé et chaque la boucle est utilisée pour les imprimer. Notez que chaque n'est pas intégré dans le langage Ruby, c'est plutôt une fonction de la variable de tableau.
#! / usr / bin / env rubis
jours = ["lundi",
"Mardi",
"Mercredi",
"Jeudi",
"Vendredi",
"Samedi",
"Dimanche"
]
days.each do | d |
met d
fin
Au-delà du simple bouclage sur un tableau - en examinant chaque variable individuelle dans l'ordre - vous pouvez également accéder aux variables individuelles d'un tableau à l'aide de l'opérateur d'index. L'opérateur d'index prendra un nombre et récupérera une variable du tableau dont la position dans le tableau correspond à ce nombre. Les nombres d'index commencent à zéro, donc la première variable d'un tableau a un index de zéro.
Ainsi, par exemple, pour récupérer la première variable d'un tableau, vous pouvez utiliser tableau [0], et pour récupérer la seconde que vous pouvez utiliser tableau [1]. Dans l'exemple suivant, une liste de noms est stockée dans un tableau et est récupérée et imprimée à l'aide de l'opérateur d'index. L'opérateur d'index peut également être combiné avec l'opérateur d'affectation pour modifier la valeur d'une variable dans un tableau.
#! / usr / bin / env rubis
names = ["Bob", "Jim",
"Joe", "Susan"]
met les noms [0] # Bob
met des noms [2] # Joe
# Changer Jim en Billy
names [1] = "Billy"