मैं |=
ग्रूवी में क्या करता है पर एक उत्तर की तलाश कर रहा था और हालांकि ऊपर दिए गए उत्तर सही हैं, उन्होंने मुझे एक विशेष कोड कोड को समझने में मदद नहीं की, जिसे मैं देख रहा था।
विशेष रूप से, जब एक बूलियन वैरिएबल पर लागू किया जाता है "= =" यह पहली बार 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
इस प्रश्न या विषय पर किसी अन्य प्रलेखन को जोड़ने से लोगों को खोजने में मदद नहीं मिलेगी।