Nämä ovat kolme tapaa, joilla Ruby käsittelee koodinjaksoja datana. Blokki välitetään metodille (ei objekti); Proc ja lambda ovat objekteja, jotka käärivät blokkin (kutsuttava, tallennettava). Proc-objektit ja lambdat eroavat hienovaraisesti argumenttien tarkistuksessa ja return-käyttäytymisessä.
