Patrones de arrays y hashes
Desestructure datos
Patrones de arrays y hashes es una lección gratuita de Ruby Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Ruby Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Ruby Academy incluye 4 lecciones en total.
Patrones de array
Un patrón de array hace coincidir la posición y la longitud. Cada patrón de elemento se comprueba con el elemento correspondiente.
case [1, 2, 3]
in [1, 2, 3]
puts 'exact match'
endAsociar elementos de un array
Use identificadores para capturar cada posición en una variable.
case [10, 20]
in [x, y]
puts(x + y)
endLa longitud importa
De forma predeterminada, un patrón de array requiere la longitud exacta. Un patrón de dos elementos no coincidirá con un array de tres elementos.
case [1, 2, 3]
in [a, b]
puts 'two'
in [a, b, c]
puts 'three'
endEl splat para el resto
Un splat *rest captura cualquier cantidad de elementos restantes en un array, lo que hace flexible la longitud.
case [1, 2, 3, 4]
in [first, *rest]
puts(first)
p rest
endSplat en el medio
El splat puede situarse entre elementos fijos para capturar el principio y el final mientras ignora la parte intermedia.
case [1, 2, 3, 4, 5]
in [first, *, last]
puts("#{first} ... #{last}")
endPatrones de hash
Un patrón de hash hace coincidir las claves. Comprueba que las claves indicadas existan y que sus valores coincidan; se permiten claves adicionales.
case { name: 'Ada', age: 36 }
in { name: 'Ada' }
puts 'found Ada'
endAsociar valores de un hash
Capture un valor proporcionando a la clave un nombre de asociación. Si escribe solo la clave, se asocia una variable con el mismo nombre.
case { name: 'Bob', age: 25 }
in { name: String => n, age: Integer => a }
puts("#{n} is #{a}")
endAsociación abreviada de claves
Omitir el patrón después de una clave asocia automáticamente una variable cuyo nombre se basa en la clave.
case { city: 'Istanbul' }
in { city: }
puts(city)
endExigir que no haya claves adicionales
De forma predeterminada, los patrones de hash ignoran las claves adicionales. Añada **nil para exigir que estén presentes únicamente las claves enumeradas.
case { a: 1 }
in { a: 1, **nil }
puts 'exactly one key'
endPatrones anidados
Los patrones pueden anidarse libremente, lo que permite desestructurar estructuras profundas en una sola rama.
data = { user: { name: 'Ada', tags: ['admin', 'dev'] } }
case data
in { user: { name:, tags: [first_tag, *] } }
puts("#{name}: #{first_tag}")
endHacer coincidir JSON analizado
La coincidencia de patrones funciona especialmente bien con datos JSON o CSV analizados, ya que extrae exactamente los campos que necesita.
require 'json'
resp = JSON.parse('{"status":"ok","items":[1,2,3]}', symbolize_names: true)
case resp
in { status: 'ok', items: }
puts(items.sum)
endComprobación rápida
De forma predeterminada, ¿el patrón de hash in { a: 1 } coincidirá con el hash { a: 1, b: 2 }?
Repaso: patrones de array y hash
Puede desestructurar colecciones:
- Los patrones de array hacen coincidir la posición y la longitud
*restcaptura los elementos restantes- Los patrones de hash hacen coincidir las claves y permiten claves adicionales
- La forma abreviada
{ key: }asocia variables con el mismo nombre **nilprohíbe las claves adicionales; los patrones pueden anidarse profundamente
case { id: 1, items: [9, 8] }
in { items: [head, *] } then puts head
endAprende Ruby con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 29
- Lecciones
- 109
Preguntas frecuentes
¿La lección «Patrones de arrays y hashes» es gratis?
Sí — el texto completo de «Patrones de arrays y hashes» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Ruby Academy, actualiza a CoddyKit PRO. El curso de Ruby Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Patrones de arrays y hashes»?
Desestructure datos Practicas Ruby Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Ruby Academy?
No se requiere experiencia previa. Ruby Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Patrones de arrays y hashes»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Ruby Academy?
Sí. Cada lección de Ruby Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Conceptos básicos de case/in
- Patrones de arrays y hashes
- Patrones find y guardas
- Casos de uso prácticos