Pergunta

Como você lida com Lambdas em Boo? "Callable" é a mesma coisa? Como você define um método que toma um lambda como um parâmetro?

Foi útil?

Solução

Boo suporta a sintaxe da expressão lambda:

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

Neste exemplo, foo é uma função que aceita um número x e retorna x + 2. Então, chamando foo(5) Retorna o número 7. TakeLambda é uma função que aceita foo e avalia -o em 10.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top