Build Lister Iterators ជាមួយពាក្យបញ្ជា "foreach" លីនុច

នៅពេល សរសេរ ពាក្យបញ្ជា foreach អនុវត្តរង្វិលជុំដែលអថេររង្វិលជុំសន្មតតម្លៃពីបញ្ជីមួយឬច្រើន។ ក្នុងករណីសាមញ្ញបំផុតគឺមានអថេររង្វិលជុំ វណ្ណយុត្តិ និងបញ្ជីមួយបញ្ជីដែលជាបញ្ជីតម្លៃដើម្បីផ្តល់តម្លៃទៅកាន់ វណ្ណណូ ។ អាគុយម៉ង់ រាងកាយ ជាស្គ្រីប Tcl ។ សម្រាប់ធាតុនីមួយ ៗ នៃ បញ្ជី (តាមលំដាប់ពីដំបូងទៅចុងក្រោយ), foreach ផ្ដល់មាតិកានៃធាតុទៅជា varname ដូចជា ពាក្យបញ្ជា lindex ត្រូវបានប្រើដើម្បីស្រង់ចេញធាតុបន្ទាប់មកហៅកម្មវិធីបកប្រែ Tcl ដើម្បីប្រតិបត្តិ រាងកាយ

សង្ខេប

foreach varname list body
foreach varlist1 list1 ? varlist2 list2 ... ? រាងកាយ

ការពិភាក្សា

ក្នុងករណីទូទៅវាអាចមានបញ្ជីតម្លៃច្រើនជាងមួយ (ឧ។ list1 និង list2 ) ហើយបញ្ជីតម្លៃនីមួយៗអាចត្រូវបានភ្ជាប់ជាមួយបញ្ជីអថេររង្វិលជុំ (ឧ។ varlist1 និង varlist2 ) ។ កំឡុងពេលនៃការធ្វើរង្វិលជុំនីមួយៗអថេរនៃ បញ្ជី នីមួយៗត្រូវបានផ្តល់តម្លៃតៗគ្នាពី បញ្ជី ដែលត្រូវគ្នា។ តម្លៃនៅក្នុង បញ្ជី នីមួយៗត្រូវបានប្រើតាមលំដាប់ពីដំបូងទៅចុងហើយតម្លៃនីមួយៗត្រូវបានប្រើយ៉ាងជាក់លាក់ម្តង។ ចំនួនសរុបនៃរង្វិលជុំរង្វង់គឺធំល្មមដើម្បីប្រើតម្លៃទាំងអស់ចេញពីបញ្ជីតម្លៃទាំងអស់។ ប្រសិនបើបញ្ជីតម្លៃមិនមានធាតុគ្រប់គ្រាន់សម្រាប់អថេររង្វិលជុំនីមួយៗក្នុងការធ្វើវានីមួយៗតម្លៃទទេត្រូវបានប្រើសម្រាប់ធាតុដែលបាត់។

ការ បំបែកចេញ និង បន្ត សេចក្តីថ្លែងអាចត្រូវបានគេហៅនៅក្នុង ខ្លួនប្រាណ ដែលមានប្រសិទ្ធភាពដូចគ្នានឹងពាក្យបញ្ជា។ រ oreach ត្រឡប់ខ្សែអក្សរទទេមួយ។

ឧទាហរណ៍

រង្វិលជុំខាងក្រោមប្រើ 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 រង្វង់នៃរង្វិលជុំ។

ចំណាំ

ពាក្យបញ្ជាពាក់ព័ន្ធមួយចំនួនធ្វើការជាមួយ Foreach រួមទាំង:

ដោយសារ ការចែកចាយលីនុច និងកម្រិតនៃ ការបែងចែក ខឺណែលខុសគ្នាប្រើពាក្យបញ្ជា បុរស ( % man ) ដើម្បីមើលពីរបៀបប្រើពាក្យបញ្ជាជាក់លាក់នៅលើ កុំព្យូទ័រ ជាក់លាក់របស់ អ្នក