Frage

Wie gehen Sie mit Lambdas in Boo um? Ist "Callable" das Gleiche? Wie definieren Sie eine Methode, die eine Lambda als Parameter dauert?

War es hilfreich?

Lösung

Boo unterstützt die Lambda -Expressionssyntax:

foo = {x|x+2}
seven = foo(5)
def TakeLambda(expr as callable(int) as int):
   return expr(10)
twelve = TakeLambda(foo)

In diesem Beispiel, foo ist eine Funktion, die eine Nummer X akzeptiert und x + 2 zurückgibt. Aufrufen foo(5) Gibt die Nummer 7 zurück. TakeLambda ist eine Funktion, die akzeptiert foo und bewertet es bei 10.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top