3

我在Boo Language Guide中遇到了一个奇怪的语法:

setter = { value | a = value }

什么| 运营商是什么意思?

4

4 回答 4

5

在这方面似乎缺乏 Boo 的文档——似乎

setter = { value | a = value }

是简写

setter = def(value):
    a = value
于 2008-08-31T14:10:07.383 回答
4

好吧,从来没有使用过 Boo,我的(受过教育的)猜测是它用于将参数传递给闭包 lambda 样式函数。在这种情况下,{ p | C } 指的是一个匿名函数,它采用一个绑定到代码 C 中的 p 的单个参数。

于 2008-08-31T14:04:20.660 回答
2

亚当是正确的。该示例的重点是表明 boo 中的 lambda 具有对封闭范围的读写访问权限。

于 2008-10-22T08:09:52.793 回答
0

用于指定代码块(匿名函数)的语法是从RubySmalltalk借来的

于 2008-11-23T14:13:43.280 回答