3

Boo言語ガイドで奇妙な構文に遭遇しました:

setter = { value | a = value }

|は何ですか 演算子はどういう意味ですか?

4

4 に答える 4

5

ブーのドキュメントはこの分野で不足しているようです-それは

setter = { value | a = value }

の省略形です

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

さて、Booを使用したことがないので、私の(知識に基づいた)推測では、パラメーターをクロージャーラムダスタイルの関数に渡すためのものだと思います。この場合、{p | C}は、コードC内のpにバインドされた単一のパラメーターを受け取る無名関数を指します。

于 2008-08-31T14:04:20.660 に答える
2

アダムは正しいです。この例のポイントは、boo のラムダが、囲んでいるスコープへの読み取りおよび書き込みアクセス権を持っていることを示すことです。

于 2008-10-22T08:09:52.793 に答える
0

コードブロック(無名関数)を指定するためのその構文は、 RubySmalltalkから借用されています

于 2008-11-23T14:13:43.280 に答える