Fundamentos del lenguaje
29 pasos en 10 series de Ruby.
Ruby se diseñó para hacer felices a los programadores, y se siente bajo los dedos: los métodos se leen como oraciones, los bloques convierten los bucles en one-liners, y el presupuesto de puntuación se gasta en unos pocos signos bien elegidos en vez de en ceremonia. Impulsó la ola de Rails que construyó Shopify, GitHub y Airbnb, y sigue siendo uno de los lenguajes en los que más rápido se piensa — lo que quieres decir y lo que tecleas quedan inusualmente cerca.
Este tour cubre el lenguaje en sí: cadenas y símbolos, las colecciones centrales, el control de flujo y los bloques que hacen de Enumerable la mejor biblioteca de iteración que existe. Luego métodos, clases, módulos y los modismos de seguridad ante nil del Ruby de todos los días, para cerrar con archivos, excepciones y JSON. Cada fragmento corre de principio a fin bajo Ruby 3.4 antes de llegar a ti.
Variables y cadenas
- Interpolación de cadenasVariables, cadenas y la interpolación que Ruby usa a cada rato.
- Métodos de cadenasEl kit diario de cadenas: strip, split, sub y compañía.
- SímbolosPor qué Ruby tiene dos tipos de cadena y cuándo gana la ligera.
Colecciones
Control de flujo
- Condicionalesif, elsif, unless y los modificadores de una línea que se leen como prosa.
- case y whenDespacho de patrones con ===: rangos, clases y regexps coinciden por igual.
- Buclestimes, upto, while y each — y por qué los for a secas son raros.
Bloques e iteradores
- each y mapLos dos iteradores con los que empieza todo programa Ruby.
- select y detectFiltrar una colección hasta quedarte con los elementos que sí quieres.
- reducePlegar una colección en un solo valor, de sumas a elecciones a medida.
Enumerable
- sort_by y group_byOrdenar y agrupar con una función de clave en vez de un comparador.
- tally y slicesConteo y ventanas integrados directo en Enumerable.
- Consultas de Enumerableall?, any?, none? y count: preguntas que la colección responde sola.
Métodos y bloques
- Argumentos de métodosValores por defecto, argumentos de palabra clave y splats en métodos comunes.
- yieldMétodos que reciben un bloque y deciden cuándo ejecutarlo.
- Procs y lambdasBloques capturados como objetos que puedes guardar, pasar y componer.
Clases y módulos
- Clases y attr_readerUna clase mínima: initialize, variables de instancia y lectores.
- Herencia y superSubclases con < y cómo extender un método del padre con super.
- Módulos y mixinsCompartir comportamiento entre clases sin herencia.
Nil y modismos
- Seguridad ante nilLos operadores que evitan que nil tumbe una cadena de llamadas.
- Asignación múltipleDesempacar arreglos en variables: intercambios, splats y pares anidados.
- Struct y DataClases de valor en una línea, mutables o congeladas.
Archivos y errores
- ArchivosEscribir, rebobinar y leer un archivo línea por línea.
- Excepcionesraise, rescue, ensure y una clase de error propia.
- JSONSerializar a JSON y de vuelta con la biblioteca estándar.
Bis
- Frecuencia de palabrasUn script completo: recorrer texto, contar palabras, imprimir una tabla ordenada.
- TOC de MarkdownUn script completo: parsear los encabezados y emitir un índice anidado.