Domanda
Come gestisci le lambda in boo? È "richiamabile" la stessa cosa? Come si definisce un metodo che accetta un lambda come parametro?
Soluzione
Boo supporta la sintassi delle espressioni lambda:
foo = {x|x+2}
seven = foo(5)
def TakeLambda(expr as callable(int) as int):
return expr(10)
twelve = TakeLambda(foo)
In questo esempio, foo
è una funzione che accetta un numero x e restituisce x + 2. Quindi chiamando foo (5)
restituisce il numero 7. TakeLambda
è una funzione che accetta foo
e lo valuta in 10.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow