8

你如何处理 boo 中的 lambda?“可调用”是一回事吗?如何定义以 lambda 作为参数的方法?

4

1 回答 1

17

Boo 确实支持 lambda 表达式语法:

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

在此示例中,foo是一个接受数字 x 并返回 x + 2 的函数。因此,调用foo(5)返回数字 7。TakeLambda是一个接受foo并评估它为 10 的函数。

于 2008-11-09T07:37:35.633 回答