Linux "foreach" Komutu ile Listeyi Oluşturun

Programlama yaparken foreach komutu, döngü değişkenlerinin bir veya daha fazla listeden değerleri kabul ettiği bir döngü uygular. En basit durumda, varlığa atanacak değerlerin listesi olan bir döngü değişkeni, varname ve bir liste, liste vardır . Vücut argümanı bir Tcl betiğidir. Listenin her öğesi için ( ilkinden sona doğru sırayla) foreach , öğenin içeriğini, öğeyi çıkarmak için lindex komutu kullanılmış gibi varyant olarak atar, sonra da Tcl yorumlayıcısını gövdeyi yürütmek için çağırır.

özet

foreach varname listesi gövdesi
foreach varlist1 list1 ? varlist2 list2 ... ? vücut

Tartışma

Genel bir durumda, birden fazla değer listesi (örneğin, liste1 ve liste2 ) olabilir ve her değer listesi döngü değişkenlerinin bir listesiyle ilişkilendirilebilir (örneğin, varlist1 ve varlist2 ). Döngünün her yinelemesi sırasında, her varyasyonun değişkenleri ilgili listeden ardışık değerler atanır. Her listeden değerler ilk baştan sonuna kadar sırayla kullanılır ve her değer tam olarak bir kez kullanılır. Toplam döngü yineleme sayısı, tüm değer listelerinden tüm değerleri kullanacak kadar büyüktür. Bir değer listesi, her yineleme işleminde her bir döngü değişkeninin her biri için yeterli öğe içermiyorsa, eksik öğeler için boş değerler kullanılır.

Ara ve devam ifadeleri, komut için aynı etkiyle, vücut içinde çağrılabilir. F oreach boş bir dize döndürür.

Örnekler

Aşağıdaki döngü, i ve j'yi tek bir listenin öğeleri çiftleri üzerinde yinelemek için döngü değişkenleri olarak kullanır.

x {} foreach {ij} {abcdef} {lappend x $ j $ i} # x değeri "badcfe" dir. # Döngünün 3 tekrarı vardır.

Bir sonraki döngü, paralel olarak iki liste üzerinde yinelemek için i ve j'yi kullanır.

set x {} foreach i {abc} j {defg} {lappend x $ i $ j} # x değeri "adbecf {} g" dir. # Döngünün 4 tekrarı vardır.

İki form aşağıdaki örnekte birleştirilmiştir.

set x {} foreach i {abc} {jk} {defg} {lappend x $ i $ j $ k} # x değeri "adebfgc {} {}" # Döngünün 3 tekrarı vardır.

notlar

Çeşitli ilgili komutlar foreach ile birlikte çalışır:

Linux dağıtımı ve çekirdek serbest bırakma düzeyleri değiştiğinden, belirli bir komutun özel olarak bilgisayarınızda nasıl kullanıldığını görmek için man komutunu ( % man ) kullanın.