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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.