奇怪的嘘声语言语法

Strange boo language syntax

提问人:Artem Tikhomirov 提问时间:8/31/2008 最后编辑:Matt HamiltonArtem Tikhomirov 更新时间:11/23/2008 访问量:1123

问:

我在 Boo 语言指南中遇到了一种奇怪的语法:

setter = { value | a = value }

什么是 |运算符是什么意思?

关闭嘘

评论


答:

4赞 Adam Wright 8/31/2008 #1

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

5赞 dF. 8/31/2008 #2

Boo 的文档似乎在这方面有所欠缺——似乎

setter = { value | a = value }

setter = def(value):
    a = value
2赞 Frep D-Oronge 10/22/2008 #3

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

0赞 Mauricio Scheffer 11/23/2008 #4

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