
Définition : qu'est-ce qu'un tableau et comment le créer ?
Qu'est-ce qu'un tableau (Array) en Ruby ? Découvrez la définition exacte de cette structure de données fondamentale et apprenez la syntaxe pour créer des listes ordonnées, vides ou pré-remplies. Maîtriser la création de tableaux est la première étape pour
Qu'est-ce qu'un tableau (Array) exactement ?
Un tableau, ou Array en Ruby, est une collection ordonnée d'objets. C'est la structure de données la plus courante pour stocker une liste d'éléments. Pensez-y comme une armoire avec des tiroirs numérotés, commençant par le numéro 0. Chaque tiroir peut contenir n'importe quel type d'objet : un nombre, une chaîne de caractères, un booléen, et même un autre tableau.
Les deux caractéristiques principales d'un tableau sont cruciales à retenir :
- Ordonné : L'ordre dans lequel vous insérez les éléments est préservé. Le premier élément que vous ajoutez restera toujours le premier, le deuxième restera le deuxième, et ainsi de suite. C'est ce qui le distingue fondamentalement d'un Dictionnaire (
Hash), que nous verrons plus tard, qui stocke des paires clé-valeur sans notion d'ordre intrinsèque. - Indexé numériquement : Chaque élément du tableau, ou 'tiroir', possède une adresse unique appelée index. C'est un simple nombre entier qui permet d'accéder directement à l'élément. Point important : le premier élément a toujours l'index
0, le deuxième l'index1, etc.
Comment créer un tableau avec la syntaxe littérale ?
La manière la plus simple et la plus courante de créer un tableau en Ruby est d'utiliser la syntaxe littérale avec des crochets []. C'est une méthode concise et très lisible que vous utiliserez dans 95% des cas.
Pour créer un tableau vide, que vous pourrez remplir plus tard, il suffit d'assigner une paire de crochets vides à une variable. C'est une pratique très fréquente lorsque l'on initialise une liste qui sera peuplée dynamiquement, par exemple avec des entrées utilisateur.
# Création d'un tableau vide pour une liste de tâches
todo_list = []Pour créer un tableau avec des éléments initiaux, placez-les à l'intérieur des crochets, séparés par des virgules. L'un des grands atouts de Ruby est sa flexibilité : un même tableau peut contenir des objets de types différents, bien qu'il soit souvent plus clair de n'y stocker que des éléments de même nature.
# Un tableau de nombres
scores = [9, 15, 7, 12]
# Un tableau de chaînes de caractères
team_members = ["Alice", "Bob", "Charlie"]
# Un tableau contenant différents types d'objets
mixed_data = ["Produit A", 12.99, true]Une astuce idiomatique pour les listes de mots : la notation %w
Ruby, fidèle à sa philosophie du 'bonheur du développeur', offre des raccourcis élégants pour les tâches courantes. Lorsque vous devez créer un tableau contenant uniquement des chaînes de caractères sans espaces, la notation %w est une alternative très pratique.
Elle vous permet de lister les mots sans avoir à taper les guillemets ni les virgules, ce qui allège considérablement la syntaxe et améliore la lisibilité. Vous vous demandez peut-être si c'est juste un détail ? En réalité, c'est une convention très répandue dans les projets Ruby professionnels, et l'adopter rendra votre code plus idiomatique.
# La manière standard
weekdays_standard = ["lundi", "mardi", "mercredi", "jeudi", "vendredi"]
# La manière idiomatique avec %w
weekdays_idiomatic = %w[lundi mardi mercredi jeudi vendredi]
# Les deux tableaux sont absolument identiques !
puts weekdays_standard == weekdays_idiomatic
#=> trueConseil pro : Il existe aussi %i pour créer un tableau de symboles, une structure que nous découvrirons avec les Dictionnaires. Ces raccourcis sont de parfaits exemples de ce qu'on appelle le 'sucre syntaxique' : ils ne changent pas le fonctionnement, mais rendent le code plus agréable à écrire et à lire.L'alternative objet : utiliser Array.new
Puisque tout en Ruby est un objet, il existe aussi une manière plus formelle de créer un tableau en appelant la méthode new sur la classe Array. Bien que moins fréquente pour les cas simples, cette méthode offre des options intéressantes pour des initialisations plus complexes.
Appeler Array.new sans argument est strictement équivalent à [].
empty_array = Array.new # Crée un tableau vide : []Le véritable intérêt de Array.new apparaît lorsque vous souhaitez créer un tableau d'une taille prédéfinie, potentiellement avec une valeur par défaut pour chaque emplacement. C'est très utile pour initialiser une structure de données avant de la remplir.
# Crée un tableau de 3 éléments, tous initialisés à nil
slots = Array.new(3)
#=> [nil, nil, nil]
# Crée un tableau de 5 éléments, tous initialisés à 0
player_scores = Array.new(5, 0)
#=> [0, 0, 0, 0, 0]En résumé, privilégiez toujours la simplicité des crochets []. Gardez Array.new dans votre boîte à outils pour les situations spécifiques où vous avez besoin d'initialiser un tableau avec une taille et une valeur par défaut précises.