2013-08-19 7 views

उत्तर

10

*Spread Operator का प्रतिनिधित्व करता है।

a = 1..5 
b = [*1..5] 
c = [1..5] 

assert a.class.name == "groovy.lang.IntRange" //Is a range from 1 till 5 
assert b.class.name == "java.util.ArrayList" //Spread the range in a list 
assert c.class.name == "java.util.ArrayList" //Is a list 

विस्तार @ ataylor के विवरण: अपने उदाहरण विस्तार से चर्चा करते

assert a.size() == 5 
assert b.size() == 5 
assert c.size() == 1 

c में प्रत्येक तत्व तक पहुंचने के लिए आप इसे ऊपर पुनरावृति करने के लिए (जो एक सीमा है)

c.each{println it} 

Groovy Goodness से है श्री हाकी के उपयोग का एक विस्तृत उदाहरण है।

2

यहाँ * (प्रसार ऑपरेटर) रेंज 1..5 फैलता है और इसलिए आपको लगता है कि सीमा [1, 2, 3, 4, 5]

6

में पूर्णांकों की एक सूची प्राप्त जब आप किसी सूची में एक श्रेणी वस्तु डाल, तो आप प्रकार IntRange में से एक तत्व के साथ एक सूची प्राप्त :

assert [1..5].size() == 1 

प्रसार ऑपरेटर यह रेंज का विस्तार लागू करने और आप पांच तत्वों के साथ एक सूची प्राप्त करके, वास्तविक पूर्णांक रेंज का प्रतिनिधित्व करता है:

assert [*1..5].size() == 5 
+0

आपको गिस्ट रखी गई है। धन्यवाद!! :) – dmahapatro

+0

साफ़ और सटीक! धन्यवाद – Chinmay

संबंधित मुद्दे