कभी-कभी मैं यह देखता हूं
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यहां कीवर्ड के बारे में बात कर रहे हैं।