Bloques, Procs y Lambdas
Comprenda cómo Ruby gestiona las funciones anónimas mediante bloques, Procs y Lambdas
Bloques, Procs y Lambdas es una lección gratuita de Ruby Academy en CoddyKit. Esta es la lección 2 de 3. 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 3 lecciones en total.
Bloques, Procs y Lambdas
Bloques, Procs y Lambdas
Ruby ofrece formas potentes de gestionar fragmentos de código reutilizables mediante bloques, Procs y Lambdas.
En esta lección, aprenderá a utilizar estos conceptos de forma eficaz.

¿Qué es un bloque?
¿Qué es un bloque?
Un bloque es un fragmento de código delimitado por do ... end o por llaves { ... }.
[1, 2, 3].each do |num|
puts num * 2
endBloques de una sola línea
Bloques de una sola línea
Para operaciones sencillas, puede utilizar llaves {} en lugar de do ... end.
[1, 2, 3].each { |num| puts num * 2 }Pasar bloques a métodos
Pasar bloques a métodos
Puede pasar bloques a métodos como each, map y times.
5.times { puts 'Hello, Ruby!' }¿Qué es un Proc?
¿Qué es un Proc?
Un Proc es un objeto que almacena un bloque de código y puede ejecutarse posteriormente.
say_hello = Proc.new { puts 'Hello from Proc!' }
say_hello.callPasar argumentos a un Proc
Pasar argumentos a un Proc
Los Procs pueden recibir argumentos, al igual que los métodos.
square = Proc.new { |num| num * num }
puts square.call(4)¿Qué es una Lambda?
¿Qué es una Lambda?
Una Lambda es similar a un Proc, pero comprueba los argumentos de forma más estricta.
greet = ->(name) { puts "Hello, #{name}!" }
greet.call('Alice')Diferencias entre Proc y Lambda
Diferencias entre Proc y Lambda
- Los Procs ignoran los argumentos adicionales, mientras que las Lambdas los exigen.
- Las Lambdas devuelven el control al método que las llama, mientras que los Procs salen inmediatamente.
proc_example = Proc.new { return 'Proc Exited' }
lambda_example = -> { return 'Lambda Executed' }
def test
puts proc_example.call
puts lambda_example.call
end
test¡Enhorabuena!
¡Enhorabuena!
Ha aprendido a utilizar bloques, Procs y Lambdas en Ruby.
A continuación, explorará la palabra clave yield y el paso dinámico de bloques.

Preguntas frecuentes
¿La lección «Bloques, Procs y Lambdas» es gratis?
Sí — el texto completo de «Bloques, Procs y Lambdas» 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 3 lecciones en total.
¿Qué aprenderé en «Bloques, Procs y Lambdas»?
Comprenda cómo Ruby gestiona las funciones anónimas mediante bloques, Procs y Lambdas 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 3.
¿Cuánto tiempo toma la lección «Bloques, Procs y Lambdas»?
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
- Definición de métodos
- Bloques, Procs y Lambdas
- Yield y paso de bloques