To są trzy sposoby, w jakie Ruby obsługuje fragmenty kodu jako dane. Blok jest przekazywany metodzie (nie jest obiektem); Proc i lambda to obiekty, które opakowują blok (wywoływalne, przechowywalne). Procs i lambdy różnią się subtelnie w zakresie sprawdzania argumentów i zachowania return.
