Pregunta
¿Cómo lidias con lambdas en boo? Es " invocable " ¿la misma cosa? ¿Cómo define un método que toma una lambda como parámetro?
Solución
Boo admite la sintaxis de la expresión lambda:
foo = {x|x+2}
seven = foo(5)
def TakeLambda(expr as callable(int) as int):
return expr(10)
twelve = TakeLambda(foo)
En este ejemplo, foo
es una función que acepta un número x y devuelve x + 2. Entonces, llamar a foo (5)
devuelve el número 7. TakeLambda
es una función que acepta foo
y la evalúa en 10.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow