ලයිව් ලයිටර් ලැයිස්තුව ගොඩනගන ලිනක්ස් "පෙරනිමි" විධානය සමඟ

ක්රමලේඛණය කිරීමේදී , foreach විධානය මඟින් ලූප් විචල්යයන් එක් හෝ වැඩි ලැයිස්තු වලින් අගයන් ලබා ගනී. සරලම අවස්ථාවක එක් ලූප් විචල්යයක්, varname සහ එක් ලැයිස්තුවක්, ලැයිස්තුවක් , varname වෙත පැවරීම සඳහා අගයන් ලැයිස්තුවකි. ශරීර තර්කය Tcl ස්ක්රිප්ට් එකක්. එක් එක් මූලද්රව්යය සඳහා (පළමු සිට අන්තිම දක්වා) අනුපිළිවෙලට, මූලද්රව්යයේ අන්තර්ගතය varname ලෙස නම් කිරීම සඳහා lindex විධානය මූලද්රව්යය උකහා ගැනීම සඳහා භාවිතා කරන ලදි, පසුව ශරීරය ක්රියාත්මක කිරීම සඳහා Tcl භාෂණ පරිවර්තකය අමතයි.

සාරාංශය

varname list body
varlist1 list1 ? varlist2 list2 ... ? සිරුර

සාකච්ඡා

පොදු අවස්ථාවකදී, එක් එක් අගය ලැයිස්තුවක් (උදා. ලැයිස්තු 1 සහ ලැයිස්තු 2 ) තිබිය හැකි අතර, එක් එක් අගය ලැයිස්තුව ලූප විචල්ය ලැයිස්තුවට සම්බන්ධ කළ හැකිය (නිද., Varlist1 සහ varlist2 ). සෑම ලුප්ත විමසුමක දී සෑම විචල්යයකම විචල්යයන් අනුරූප ලැයිස්තුවේ අනුයාත අගයයන් වේ. එක් එක් ලැයිස්තුෙව් ඇති වටිනාකම් පළමුව සිට අන්තිමට අනුපිළිෙවළින් භාවිතා කරනු ලබන අතර, එක් එක් අගය එකවර භාවිතා කරනු ඇත. සියලු අගයයන් ලැයිස්තු වලින් සියලු අගයන් භාවිතා කිරීමට ප්රමාණවත් තරම් ලූප් ඓක්යයන් සංඛ්යාව විශාල වේ. එක් එක් පුනරුත්පත්තියෙහි එක් එක් ලූප් විචල්යයන් සඳහා ප්රමාණවත් මූලද්රව්ය අඩංගු අගයක් නොමැති නම්, නැතිවූ මූලද්රව්ය සඳහා හිස් අගයන් භාවිතා වේ.

විවේචනය සහ අඛණ්ඩ ප්රකාශයන් ශරීරයේ ඇතුලත ඇතුලුව , ආඥාව සඳහාම සමාන බලපෑමක් ඇත. F 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} # හී අගය "adebfgc {} {}" # ලූපයේ 3 ක් ඇත.

සටහන්

ඊට අදාළ විධාන කිහිපයක් පහත දැක්වෙයි :

Linux බෙදාහැරීම සහ කර්නල්-මුදාහැරීමේ මට්ටම් වෙනස් වන නිසා, ඔබේ විධානයක් විශේෂයෙන් භාවිතා කරන ආකාරය බැලීමට මිනිසා විධානය ( % man ) භාවිතා කරන්න.