เหล่านี้คือสามวิธีที่ Ruby จัดการกับ กลุ่มโค้ดในฐานะข้อมูล (code as data) บล็อก (block) ถูกส่งไปยังเมธอด (ไม่ใช่ออบเจ็กต์) ส่วน Proc และ lambda เป็นออบเจ็กต์ที่ห่อหุ้มบล็อก (เรียกใช้ได้ เก็บได้) Proc และ lambda แตกต่างกันเล็กน้อยในเรื่องการตรวจสอบอาร์กิวเมนต์และพฤติกรรมของ return
