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?

¿Fue útil?

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
scroll top