Boo中的Lambda表达式?

8

你如何处理Boo中的Lambda表达式?"callable"是否与之相同?你如何定义一个接受Lambda表达式作为参数的方法?

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 时对其进行求值的函数。

谢谢,我看大多数情况下只需要“作为可调用函数”。 - mmiika
我希望.NET委托更像在Boo中可调用。这将使许多情况下的生活变得更加轻松... - Krzysztof Kozmic
@Krzysztof Koźmic:F#的符号很好看:TakeLambda: (int -> int) -> int - Dario

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接