subelements के साथ नेस्टेड लूप
सूचियों के भीतर मौजूद सूचियों पर दोहराव चलाएँ।
subelements के साथ नेस्टेड लूप, CoddyKit पर Ansible Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Ansible Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Ansible Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
Lists के भीतर Lists
कभी-कभी हर item की अपनी सूची होती है: कई SSH keys वाला user या कई members वाला group। यह एक nested structure है। 🪆
subelements Lookup
subelements lookup हर parent को उसकी inner list के हर child के साथ जोड़ता है और nesting को single iterations में बदल देता है।
loop: "{{ users | subelements('keys') }}"दो Arguments
subelements में parent list और expand की जाने वाली inner key का नाम दिया जाता है। यह हर child element के लिए एक iteration बनाता है।
vars:
users:
- name: alice
keys:
- keyA
- keyBitem एक Pair बन जाता है
subelements के साथ item दो भागों वाली list होती है: item.0 parent dictionary है और item.1 वर्तमान child value है।
- ansible.builtin.debug:
msg: "{{ item.0.name }} has {{ item.1 }}"
loop: "{{ users | subelements('keys') }}"कई SSH Keys को अधिकृत करें
पुस्तक में दिया जाने वाला सामान्य उदाहरण: हर user को उसकी सभी SSH keys देना। item.0.name user है और item.1 हर iteration में एक key है।
- ansible.posix.authorized_key:
user: "{{ item.0.name }}"
key: "{{ item.1 }}"
loop: "{{ users | subelements('keys') }}"Child एक Dict भी हो सकता है
Inner elements dictionaries भी हो सकते हैं। तब item.1 में अपने fields होते हैं, जैसे item.1.path या item.1.mode।
Iterations की गिनती करें
दो-दो keys वाले तीन users का अर्थ है six iterations। subelements parent की संख्या को उनके children की संख्या से अपने-आप गुणा करता है।
Missing Inner Lists को छोड़ें
यदि किसी parent में inner key न होने की संभावना हो, तो skip_missing जोड़ें। इससे subelements विफल होने के बजाय उसे चुपचाप अनदेखा कर देता है।
loop: "{{ users | subelements('keys', skip_missing=true) }}"दो loops क्यों नहीं?
कोई task सीधे दो loop keywords को nest नहीं कर सकता। subelements parent-child structure पर एक ही task में काम करने का साफ़ और समर्थित तरीका है।
चतुराई से बेहतर पठनीयता
बहुत अधिक nested data को समझना कठिन हो सकता है। जब संभव हो, अपनी structures को कम गहराई वाली रखें; और जब सचमुच आवश्यकता हो, तभी subelements का उपयोग करें।
अब भी Idempotent
हर pair एक अलग module call है, इसलिए पहले से मौजूद key जोड़ने पर ok रिपोर्ट होता है। Nesting से सुरक्षित रूप से दोबारा चलाने की क्षमता पर कोई प्रभाव नहीं पड़ता।
त्वरित जाँच
subelements का उपयोग करते समय item.0 किसका संदर्भ देता है?
पुनरावलोकन: Nested Loops
आपने subelements की सहायता से parent-child data को समतल किया, item.0 और item.1 का उपयोग किया और missing lists को सुरक्षित रूप से संभाला। अगला विषय: loop_control। 🎉
एआई शिक्षक के साथ YAML सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “subelements के साथ नेस्टेड लूप” पाठ निःशुल्क है?
हाँ—“subelements के साथ नेस्टेड लूप” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Ansible Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Ansible Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“subelements के साथ नेस्टेड लूप” में मैं क्या सीखूँगा?
सूचियों के भीतर मौजूद सूचियों पर दोहराव चलाएँ। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Ansible Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Ansible Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Ansible Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“subelements के साथ नेस्टेड लूप” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Ansible Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Ansible Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- सूची पर loop कीवर्ड
- डिक्शनरी पर लूप चलाना
- subelements के साथ नेस्टेड लूप
- loop_control: label, index और pause