Motifs de tableaux et de hachages
Déstructurez les données
Motifs de tableaux et de hachages est une leçon Ruby Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Ruby Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ruby Academy comprend 4 leçons au total.
Motifs de tableaux
Un motif de tableau fait correspondre la position et la longueur. Chaque motif d’élément est vérifié par rapport à l’élément correspondant.
case [1, 2, 3]
in [1, 2, 3]
puts 'exact match'
endLiaison des éléments d’un tableau
Utilisez des identifiants pour capturer chaque position dans une variable.
case [10, 20]
in [x, y]
puts(x + y)
endLa longueur est importante
Par défaut, un motif de tableau exige la longueur exacte. Un motif de 2 éléments ne correspondra pas à un tableau de 3 éléments.
case [1, 2, 3]
in [a, b]
puts 'two'
in [a, b, c]
puts 'three'
endOpérateur de collecte du reste
Un opérateur de collecte *rest capture un nombre quelconque d’éléments restants dans un tableau, ce qui rend la longueur flexible.
case [1, 2, 3, 4]
in [first, *rest]
puts(first)
p rest
endCollecte au milieu
L’opérateur de collecte peut se placer entre des éléments fixes pour récupérer le début et la fin tout en ignorant le milieu.
case [1, 2, 3, 4, 5]
in [first, *, last]
puts("#{first} ... #{last}")
endMotifs de hachage
Un motif de hachage fait correspondre les clés. Il vérifie que les clés indiquées existent et que leurs valeurs correspondent ; les clés supplémentaires sont autorisées.
case { name: 'Ada', age: 36 }
in { name: 'Ada' }
puts 'found Ada'
endLiaison des valeurs d’un hachage
Capturez une valeur en donnant à la clé un nom de liaison. Écrire uniquement la clé la lie à une variable portant le même nom.
case { name: 'Bob', age: 25 }
in { name: String => n, age: Integer => a }
puts("#{n} is #{a}")
endLiaison abrégée des clés
Omettre le motif après une clé lie automatiquement une variable portant le nom de cette clé.
case { city: 'Istanbul' }
in { city: }
puts(city)
endExiger l’absence de clés supplémentaires
Par défaut, les motifs de hachage ignorent les clés supplémentaires. Ajoutez **nil pour exiger que seules les clés indiquées soient présentes.
case { a: 1 }
in { a: 1, **nil }
puts 'exactly one key'
endMotifs imbriqués
Les motifs peuvent s’imbriquer librement, ce qui permet de déconstruire des structures profondes dans une seule branche.
data = { user: { name: 'Ada', tags: ['admin', 'dev'] } }
case data
in { user: { name:, tags: [first_tag, *] } }
puts("#{name}: #{first_tag}")
endCorrespondance avec du JSON analysé
La correspondance de motifs s’associe parfaitement aux données JSON ou CSV analysées, en extrayant exactement les champs dont vous avez besoin.
require 'json'
resp = JSON.parse('{"status":"ok","items":[1,2,3]}', symbolize_names: true)
case resp
in { status: 'ok', items: }
puts(items.sum)
endVérification rapide
Par défaut, le motif de hachage in { a: 1 } correspondra-t-il au hachage { a: 1, b: 2 } ?
Récapitulatif : motifs de tableaux et de hachages
Vous pouvez déconstruire des collections :
- Les motifs de tableaux correspondent selon la position et la longueur
*restcapture les éléments restants- Les motifs de hachage correspondent selon les clés et autorisent les éléments supplémentaires
- La notation abrégée
{ key: }lie les variables portant le même nom **nilinterdit les clés supplémentaires ; les motifs peuvent être profondément imbriqués
case { id: 1, items: [9, 8] }
in { items: [head, *] } then puts head
endQuestions Fréquemment Posées
La leçon « Motifs de tableaux et de hachages » est-elle gratuite ?
Oui — le texte complet de « Motifs de tableaux et de hachages » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Ruby Academy, passe à CoddyKit PRO. Le cours Ruby Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Motifs de tableaux et de hachages » ?
Déstructurez les données Tu pratiques Ruby Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Ruby Academy ?
Aucune expérience préalable n'est requise. Ruby Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Motifs de tableaux et de hachages » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Ruby Academy ?
Oui. Chaque leçon Ruby Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Bases de case/in
- Motifs de tableaux et de hachages
- Motifs de recherche et gardes
- Cas d’utilisation pratiques