Build List Iterators ერთად Linux "foreach" ბრძანება

როდესაც პროგრამირება , foreach ბრძანება ახორციელებს მარყუჟის სადაც loop ცვლადები ვივარაუდოთ ღირებულებების ერთი ან მეტი სიები. უმარტივესი შემთხვევაში არის ერთი მარყუჟის ცვლადი, ვარნა , და ერთი სია, სია , რომ არის სიაში ღირებულებები მინიჭება varname . სხეულის არგუმენტი არის Tcl სცენარი. თითოეული ელემენტის სიისთვის (პირველიდან გასვლის შემდეგ), ფარმაცევტს ანიჭებს ელემენტის შინაარსი, რათა მოხდეს ვორმონის სახით, თითქოს Lindex ბრძანება გამოყენებული იყო ელემენტის ამონაწერი, შემდეგ კი Tcl თარჯიმანს უწოდებს სხეულის შესასრულებლად.

სინოფსისი

foreach varname სიაში სხეულის
Foreach varlist1 list1 ? varlist2 list2 ... ? სხეული

დისკუსია

ზოგადად, შეიძლება არსებობდეს ერთზე მეტი ღირებულების სიაში (მაგალითად, სია 1 და სიის 2) და თითოეული ღირებულების სიაში შეიძლება დაკავშირებული იყოს მარყუჟის ცვლადების სიაში (მაგალითად, varlist1 და varlist2 ). მარყუჟის ყოველი გააქტიურების დროს, თითოეული ცვლადის ცვლადები მიენიჭება თანმიმდევრულ ღირებულებებს შესაბამისი სიიდან . თითოეული სიაში ღირებულებები გამოყენებულია პირველიდან ბოლომდე და თითოეული მნიშვნელობა გამოიყენება ერთზე ადრე. მარყუჟის გამრავლების საერთო რაოდენობა საკმარისია იმისათვის, რომ გამოიყენოს ყველა მნიშვნელობა ყველა ღირებულების სიიდან. თუ ღირებულება სიაში არ არის საკმარისი ელემენტები თითოეული მისი მარყუჟის ცვლადში თითოეული გაერთიანებაზე, ცარიელი ელემენტები გამოიყენება ელემენტებისთვის.

შესვენება და გაგრძელების განცხადებები შეიძლება მოიყვანოს შიგნით სხეულის , იგივე ეფექტი, როგორც ბრძანება. F oreach ბრუნდება ცარიელი სიმებიანი.

მაგალითები

შემდეგი loop იყენებს i და j როგორც loop ცვლადები iterate მეტი წყვილი ელემენტების ერთი სია.

x x {} foreach {ij} {abcdef} {lappend x $ j $ i} # x- ის მნიშვნელობა "badcfe" # მარყუჟის 3 იერუსალიმი.

მომდევნო მარყუჟს იყენებს i და j პარალელურად ორი სიისთვის.

x- ის {forec i {abc} j {defg} {lappend x $ i j j} # x- ის ღირებულებაა "adbecf {} g" # loop- ის 4 იერუსალიმი.

ორი ფორმა გაერთიანებულია შემდეგ მაგალითში.

x x ^ $ j $ k} # x- ის ღირებულებაა "adebfgc {} {}" # loop- ის 3 იერუსალიმი.

შენიშვნები

რამდენიმე დაკავშირებული ბრძანებები მუშაობენ foreach- ის ჩათვლით:

იმის გამო, რომ Linux განაწილება და kernel-release დონეზე განსხვავდება, გამოიყენეთ კაცის ბრძანება ( % man ) თუ როგორ ბრძანება სპეციალურად გამოიყენება თქვენს კონკრეტულ კომპიუტერში .