लिनक्स "foreach" कमांड के साथ सूची Iterators बनाएँ

प्रोग्रामिंग करते समय , foreach कमांड एक लूप लागू करता है जहां लूप चर एक या अधिक सूचियों से मान मानते हैं। सबसे सरल मामले में एक लूप वैरिएबल, वर्नाम , और एक सूची, सूची है , जो वर्नाम को असाइन करने के लिए मानों की एक सूची है। शरीर तर्क एक टीसीएल स्क्रिप्ट है। सूची के प्रत्येक तत्व (पहले से आखिरी तक) के लिए, foreach तत्व की सामग्री को varname को असाइन करता है जैसे कि lindex कमांड तत्व निकालने के लिए उपयोग किया गया था, फिर शरीर को निष्पादित करने के लिए Tcl दुभाषिया को कॉल करता है

सार

foreach varname सूची शरीर
foreach varlist1 list1 ? varlist2 list2 ... ? तन

विचार-विमर्श

एक सामान्य मामले में, एक से अधिक मूल्य सूची (उदाहरण के लिए, सूची 1 और सूची 2 ) हो सकती है, और प्रत्येक मान सूची को लूप चर (जैसे, varlist1 और varlist2 ) की सूची से जोड़ा जा सकता है। लूप के प्रत्येक पुनरावृत्ति के दौरान, प्रत्येक varlist के चर को संबंधित सूची से निरंतर मान असाइन किया जाता है। प्रत्येक सूची में मान पहले से आखिरी तक क्रम में उपयोग किए जाते हैं, और प्रत्येक मान का उपयोग बिल्कुल एक बार किया जाता है। लूप पुनरावृत्तियों की कुल संख्या सभी मूल्य सूचियों के सभी मानों का उपयोग करने के लिए काफी बड़ी है। यदि किसी मान सूची में प्रत्येक पुनरावृत्ति में प्रत्येक लूप चर के लिए पर्याप्त तत्व नहीं होते हैं, तो अनुपलब्ध तत्वों के लिए खाली मानों का उपयोग किया जाता है।

ब्रेक और जारी बयान शरीर के अंदर बुलाया जा सकता है, जैसा कि कमांड के समान प्रभाव के साथ होता है। एफ अयस्क एक खाली स्ट्रिंग देता है।

उदाहरण

निम्न लूप एक और सूची के तत्वों के जोड़े पर पुनरावृत्ति करने के लिए लूप चर के रूप में i और j का उपयोग करता है।

x {} foreach {ij} {abcdef} सेट करें {lappend x $ j $ i} # x का मान "badcfe" # लूप का 3 पुनरावृत्त है।

अगला लूप समानांतर में दो सूचियों में पुनरावृत्ति करने के लिए i और j का उपयोग करता है।

x =} foreach i {abc} j {defg} {lappend x $ i $ j} # x का मान "adbecf {} g" # लूप का 4 पुनरावृत्त है।

निम्नलिखित रूपों में दो रूपों को संयुक्त किया गया है।

x सेट करें {} foreach i {abc} {jk} {defg} {lappend x $ i $ j $ k} # x का मान "adebfgc {} {}" # लूप का 3 पुनरावृत्त है।

टिप्पणियाँ

कई संबंधित आदेश फोरैच के साथ काम करते हैं जिनमें शामिल हैं:

चूंकि लिनक्स वितरण और कर्नेल-रिलीज स्तर अलग-अलग होते हैं, यह देखने के लिए मैन कमांड ( % man ) का उपयोग करें कि आपके विशेष कंप्यूटर पर कमांड का उपयोग कैसे किया जाता है