0Pricing
Ruby Academy · Lección

Configuración con YAML

Cargue y genere YAML

Configuración con YAML es una lección gratuita de Ruby Academy en CoddyKit. Esta es la lección 3 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.

¿Qué es YAML?

YAML (YAML Ain't Markup Language) es un formato de datos fácil de leer para las personas, ampliamente utilizado para la configuración. Ruby lo lee mediante la biblioteca yaml (basada en Psych).

require 'yaml'
text = "name: Ruby\nyear: 1995"
p YAML.load(text)

Cargar YAML

YAML.load analiza una cadena YAML y la convierte en objetos de Ruby. Las asignaciones se convierten en Hashes y las secuencias, en Arrays.

require 'yaml'
cfg = YAML.load("port: 8081\ndebug: true")
puts(cfg['port'])
puts(cfg['debug'])

La indentación define la estructura

YAML utiliza la indentación (espacios, nunca tabulaciones) para expresar el anidamiento. Cada nivel más profundo tiene una indentación mayor.

require 'yaml'
text = "server:\n  host: localhost\n  port: 8081"
cfg = YAML.load(text)
puts(cfg['server']['port'])

Listas en YAML

Una secuencia se escribe con guiones al inicio. Se analiza como un Array de Ruby.

require 'yaml'
text = "tags:\n  - fun\n  - oop\n  - dynamic"
p YAML.load(text)['tags']

Volcar a YAML

YAML.dump (o to_yaml) serializa objetos de Ruby de nuevo en texto YAML.

require 'yaml'
data = { 'name' => 'Ruby', 'tags' => ['fun', 'oop'] }
puts(YAML.dump(data))

Tipos escalares

YAML infiere los tipos: los números, los booleanos (true/false) y null se convierten en los valores de Ruby correspondientes.

require 'yaml'
cfg = YAML.load("count: 3\nactive: false\nnote: null")
puts(cfg['count'].class)
puts(cfg['note'].inspect)

Claves de símbolo

Una clave escrita con dos puntos al inicio se convierte en un Symbol de Ruby al cargarse.

require 'yaml'
cfg = YAML.load(":env: production")
p cfg

Varios documentos

Un solo archivo YAML puede contener varios documentos separados por ---. YAML.load_stream los devuelve todos.

require 'yaml'
text = "a: 1\n---\nb: 2"
docs = YAML.load_stream(text)
puts(docs.length)

Escribir un archivo de configuración

Guarde un hash de configuración como un archivo YAML legible.

require 'yaml'
require 'tmpdir'
path = File.join(Dir.tmpdir, 'config.yml')
File.write(path, { 'port' => 8081 }.to_yaml)
puts(File.read(path))

Leer un archivo de configuración

YAML.load_file lee y analiza un archivo en una sola llamada, que es la forma habitual en que las aplicaciones cargan la configuración.

require 'yaml'
require 'tmpdir'
path = File.join(Dir.tmpdir, 'app.yml')
File.write(path, "name: AppPanel\nport: 8081")
cfg = YAML.load_file(path)
puts(cfg['name'])

Carga segura

Cargar YAML que no es de confianza puede ser peligroso. YAML.safe_load se limita de forma predeterminada a tipos básicos, lo que protege contra cargas maliciosas.

require 'yaml'
cfg = YAML.safe_load("port: 8081\nname: app")
puts(cfg['port'])

Comprobación rápida

¿Qué utiliza YAML para expresar la anidación y la estructura?

Repaso: configuración en YAML

Puede administrar la configuración en YAML:

  • YAML.load / load_file para leer
  • to_yaml / YAML.dump para escribir
  • La sangría define la anidación y los guiones crean listas
  • Los escalares infieren números, booleanos y valores nulos
  • Prefiera safe_load para entradas que no sean de confianza
require 'yaml'
puts(YAML.load("x: 5")['x'] * 2)

Preguntas frecuentes

¿La lección «Configuración con YAML» es gratis?

Sí — el texto completo de «Configuración con YAML» 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 «Configuración con YAML»?

Cargue y genere YAML 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 3 de 4.

¿Cuánto tiempo toma la lección «Configuración con YAML»?

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

  1. Lectura y escritura de JSON
  2. Trabajo con CSV
  3. Configuración con YAML
  4. Elección de un formato
← Volver a Ruby Academy