कभी-कभी मैं यह देखता हूं
List list = [];
फिर list..add(color)
1 डॉट ( .
) और 2 डॉट ( ..
) का उपयोग करने में अंतर क्या है ?
कभी-कभी मैं यह देखता हूं
List list = [];
फिर list..add(color)
1 डॉट ( .
) और 2 डॉट ( ..
) का उपयोग करने में अंतर क्या है ?
जवाबों:
..
कैस्केड अंकन के रूप में जाना जाता है । यह आपको एक ही लक्ष्य को दोहराने की अनुमति नहीं देता है यदि आप एक ही वस्तु पर कई तरीकों को कॉल करना चाहते हैं।
List list = [];
list.add(color1);
list.add(color2);
list.add(color3);
list.add(color4);
// with cascade
List list = [];
list
..add(color1)
..add(color2)
..add(color3)
..add(color4);
यह डार्ट का कैस्केड ऑपरेटर है
var l1 = new List<int>()..add(0)..addAll([1, 2, 3]);
l1
एक सूची होने में परिणाम[0, 1, 2, 3]
var l1 = new List<int>().add(0).addAll([1, 2, 3]);
एक त्रुटि के परिणामस्वरूप, क्योंकि .add(0)
रिटर्नvoid
..
(पूर्व उदाहरण में) को संदर्भित करता है new List()
, जबकि .
(बाद में) अभिव्यक्ति के पिछले भाग के वापसी मूल्य को संदर्भित करता है।
..
एक धाराप्रवाह तरीके से एक एपीआई का उपयोग करने में सक्षम होने के लिए this
सभी तरह के तरीकों में लौटने की आवश्यकता से बचने के लिए पेश किया गया था add()
।
..
यह सभी वर्गों के लिए बॉक्स से बाहर प्रदान करता है।
new
अब वैकल्पिक है। ..
द्वारा दी गई सूची को संदर्भित करता है new List<int>()
और add(0)
addAll(...)
दोहराए बिना इस पर कई तरीकों को कॉल करने की अनुमति देता है l1.
और यह बनाई गई सूची उदाहरण है जिसे सौंपा गया है l1
, न कि श्रृंखला में अंतिम विधि का रिटर्न मान ( addAll(...)
)। क्या इससे आपके सवाल का जवाब मिलता है?
new
है कि डार्ट 2.0 के साथ वैकल्पिक शुरुआत है, मैं सिर्फ new
उपरोक्त संदर्भ में उलझन में हूं और आपकी व्याख्या के लिए धन्यवाद।
..add(6)
जैसा है l1.add(6)
, .add(6)
जैसा है l1.add(5).add(6)
। add(5)
रिटर्न void
और आप add()
पर कॉल नहीं कर सकते हैंvoid
Cascades (..) आपको एक ही ऑब्जेक्ट पर संचालन का एक क्रम बनाने की अनुमति देता है। विवरण के लिए डॉक्टर को पढ़ें
querySelector('#confirm') // Get an object.
..text = 'Confirm' // Use its members.
..classes.add('important')
..onClick.listen((e) => window.alert('Confirmed!'));
पिछला उदाहरण इसके बराबर है:
var button = querySelector('#confirm');
button.text = 'Confirm';
button.classes.add('important');
button.onClick.listen((e) => window.alert('Confirmed!'));
..onClick
अनुवाद क्यों नहीं होता है button.classes.onClick
?
.. (in former example) refers to new List()
, क्या आपका मतलब है कि हम फिर से एक नया निर्माणList
कर रहे हैं जब हम..
मेरी राय में उपयोग नहीं कर रहे हैं । मैं आपकेnew
शब्द से भ्रमित हो गया , क्या यह वास्तव में नया है या आपnew
यहां कीवर्ड के बारे में बात कर रहे हैं।