Dit zijn drie manieren waarop Ruby chunks code als data afhandelt. Een block wordt doorgegeven aan een methode (niet een object); een Proc en een lambda zijn objecten die een block verpakken (callable, opslaanbaar). Procs en lambdas verschillen subtiel in argument checking en return gedrag.
