लिनक्स "फोरेच" कमांड सह बिल्ड लिस्ट इटरेटर बनवा

प्रोग्रामिंग करताना , फोरश कमांड लूप कार्यान्वित करतो जेथे लूप व्हेरिएबल्स एका किंवा अधिक सूचनेतील मूल्यांना गृहित धरू देतात. सर्वात सोपा केसमध्ये एक लूप व्हेरिएबल, वारनाम आणि एक सूची, यादी आहे , ती व्हिननाम लावण्याची मुल्ये दर्शविते . शरीर वितर्क एक Tcl स्क्रिप्ट आहे. सूचीच्या प्रत्येक घटकासाठी (प्रथम पासून शेवटपर्यंत), फोरिकेनामने घटकांची सामग्री वारणेंमला देते जसे की लिंडेक्स कमांडचा वापर घटक काढण्यासाठी केला गेला होता, नंतर तो Tcl इंटरप्रिटरला शरीर चालविण्यास सांगतो.

सारांश

वारविक लिस्ट बॉडी
फॉर बेअरलिस्ट 1 लिस्ट -1 ? varlist2 list2 ... ? शरीर

चर्चा

सामान्य बाबतीत, एकापेक्षा जास्त मूल्य यादी (उदा., List1 आणि list2 ) असू शकते आणि प्रत्येक मूल्य सूची लूप व्हेरिएबल्सच्या सूचीसह (उदा. Varlist1 आणि varlist2 ) संबद्ध केली जाऊ शकते. लूपच्या प्रत्येक पुनरावृत्ती दरम्यान, प्रत्येक varlist चे व्हेरिएबल्स संबंधित सूचीमधून सलग व्हॅल्यूज म्हणून सादर केले आहेत. प्रत्येक सूचीमधील मूल्ये आधीपासून शेवटपर्यंत वापरली जातात आणि प्रत्येक मूल्य एकदाच वापरले जाते सर्व मूल्य सूचीमधील सर्व मूल्ये वापरण्यासाठी लूप पुनरावृत्त्यांची एकूण संख्या मोठी आहे. प्रत्येक सूचीमधील त्याच्या प्रत्येक लूप वैरिएबलमध्ये मूल्य सूचीमध्ये पुरेशी मूल्ये नसतील तर गहाळ घटकांसाठी रिक्त मूल्ये वापरली जातात.

आदेशासाठी व तोच प्रभाव असणार्या शरीराच्या आत ब्रेक आणि चालू स्टेटमेन्ट्स लागू केले जाऊ शकतात. F oreach रिक्त स्ट्रिंग परत करते.

उदाहरणे

खालील लूप एका सूचीतील घटकांच्या जोडीने पुनरावृत्ती करण्यासाठी लूप व्हेरिएबल्सचा वापर करते I आणि j वापरते.

set x {} foreach {ij} {abcdef} {lappend x $ j $ i} # चे मूल्य "badcfe" आहे # तेथे लूपच्या तीन पुनरावृत्त्या आहेत.

पुढील लूप i आणि j चा वापर समांतरमध्ये दोन सूचींवर पुनरावृत्ती करते.

सेट x {} foreach i {abc} j {defg} {lappend x $ i $ j} # एक्स चे मूल्य "adbecf {} g" आहे # तेथे लूपचे चार पुनरावृत्त्या आहेत.

दोन प्रकारचे खालील उदाहरण एकत्र केले आहेत.

x {} foreach i {abc} {jk} {defg} {lappend x $ i $ j $ k} सेट करा. x चे मूल्य "adebfgc {} {}" # या लूपचे तीन पुनरावृत्त्या आहेत.

नोट्स

बर्याच संबंधित कमांड्स यामध्ये काम करतात.

लिनक्स वितरण व कर्नल-रिलीझ पातळीमुळे बदलत असल्यामुळे, आदेशास विशिष्ट संगणकावर कसे वापरले जाते हे पहाण्यासाठी man कमांड ( % man ) वापरा.