blob: b156798d8a3fb9a2ca1b48d66593d7f6b1cdde16 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001SYNOPSIS
2 closure lambda(mixed *arr, mixed);
3
4BESCHREIBUNG
5 Erzeugt eine Lambda Closure, entsprechend den Lamda Closures in LISP.
6 Die Closure ist an das Objekt gebunden, das sie erzeugt hat, und kann
7 deshalb Verweise auf globale Variablen enthalten.
8
9 Das erste Argument ist ein Array, das die Argumente (Symbole)
10 beschreibt, die der Closure bei ihrer Auswertung durch funcall()
11 oder apply() uebergeben werden.
12
13 Von der Verwendung wird aus Lesbarkeits- und Wartungsgruenden dringend
14 abgeraten.
15
16BEISPIEL
17 // Lambdas werden gern eingesetzt, um komplexere Filter zu schreiben
18 // Allerdings kann jede Lambda dabei auch durch eine Inline-Closure
19 // oder eine LFun-Closure ersetzt werden.
20 filter(users(),
21 lambda(({'x}),
22 ({#'==,
23 ({#'call_other,'x,"QueryProp",P_SECOND}),"gloinson"
24 })));
25
26SIEHE AUCH
27 Verwandt: unbound_lambda(E), apply(E), funcall(E), bind_lambda(E)
28 Generell: closures-abstract(LPC), closures(LPC)