Frage
Wie gehen Sie mit Lambdas in Boo um? Ist "Callable" das Gleiche? Wie definieren Sie eine Methode, die eine Lambda als Parameter dauert?
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