Ezek három módja annak, hogy a Ruby kóddarabokat adatként kezeli. A block egy metódusnak átadott kód (nem objektum); a Proc és a lambda olyan objektumok, amelyek egy blokkot csomagolnak be (hívható, tárolható). A Procok és lambdák finoman különböznek az argumentum-ellenőrzés és a return viselkedésében.
