私は|=
Groovy で何ができるかについての回答を探していましたが、上記の回答は正しいのですが、私が見ている特定のコードを理解するのに役立ちませんでした。
特に、ブール変数「| =」に適用すると、右側で真の式に初めて遭遇したときにTRUEに設定され、以降のすべての呼び出しでそのTRUE値が保持されます。ラッチのようです。
これの簡単な例:
groovy> boolean result
groovy> //------------
groovy> println result //<-- False by default
groovy> println result |= false
groovy> println result |= true //<-- set to True and latched on to it
groovy> println result |= false
出力:
false
false
true
true
編集:なぜこれが便利なのですか?
さまざまなオブジェクトで何かが変更されたかどうかを知りたい場合は、変更の一部を通知してください。したがって、hasChanges
ブール値を設定し|= diff (a,b)
、それを次に設定し ます|= dif(b,c)
。以下に簡単な例を示します。
groovy> boolean hasChanges, a, b, c, d
groovy> diff = {x,y -> x!=y}
groovy> hasChanges |= diff(a,b)
groovy> hasChanges |= diff(b,c)
groovy> hasChanges |= diff(true,false)
groovy> hasChanges |= diff(c,d)
groovy> hasChanges
Result: true
pipe equal operator
この質問に何かを追加したり、トピックに関する他のドキュメントを追加しても、ユーザーが検索するのに役立ちませんか。