6.5 Procs und Lambdas

Blöcke sind in Ruby syntaktische Strukturen; sie sind keine Objekte und können nicht als Objekte manipuliert werden. Es ist jedoch möglich, ein Objekt zu erzeugen, das einen Block darstellt. Je nachdem, wie das Objekt erzeugt wird, wird es Proc oder Lambda genannt. Procs besitzen ein blockähnliches Verhalten, während Lambdas ein methodenähnliches Verhalten haben. Beide sind jedoch Instanzen der Klasse Proc.

Die nachfolgenden Unterabschnitte erläutern,

  • wie man Proc-Objekte erzeugt, sowohl in der Proc- als auch in der Lambda-Form,

  • wie man Proc-Objekte aufruft,

  • wie man ermittelt, wieviele Argumente eine Proc erwartet,

  • wie man ermittelt, ob zwei Proc-Objekte identisch sind und

  • wie sich Procs und Lambdas voneinander unterscheiden.

Get Die Programmiersprache Ruby now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.