Tässä artikkelissa opit sisäkkäisistä silmukoista ja niiden toiminnasta esimerkkien avulla.
Jos toisen silmukan rungossa on silmukka, sitä kutsutaan sisäkkäiseksi silmukaksi. Tässä on esimerkki sisäkkäisistä for-in-silmukoista.
i: lle 1… 5 (// ulkosilmukan lauseet j: lle 1… 2 (// sisäisen silmukan lauseet) // ulomman silmukan lauseet)
Tässä for j in 1… 2
silmukka, joka tunnetaan nimellä sisempi silmukka, on rungon sisällä, joka for i in 1… 5
tunnetaan nimellä ulompi silmukka.
On huomattava, että sisäkkäinen silmukka ei välttämättä sisällä samantyyppisiä silmukoita. Voit esimerkiksi laittaa jonkin aikaa silmukan for for -silmukan rungon sisään ja se on silti sisäkkäinen silmukka.
Swift Sisäänrakennettu silmukka
Sisäkkäinen for-in -silmukka sisältää for-in -silmukan lausekkeena toisen for-in -silmukan sisällä. Sinulla voi olla mikä tahansa määrä sisäkkäisiä for-in -silmukoita tarpeen mukaan.
Esimerkki 1: Swift Nested for-in -silmukka
for i in 1… 5 ( print("Outer loop iteration ", i) for j in 1… 2 ( print("Inner loop iteration ", j) print("i = (i); j = (j)") ) )
Kun suoritat ohjelmaa, tulos on:
Ulkosilmukan iteraatio 1 Sisäsilmukan iteraatio 1 i = 1; j = 1 Sisäsilmukan iteraatio 2 i = 1; j = 2 Ulkosilmukan iteraatio 2 Sisäsilmukan iteraatio 1 i = 2; j = 1 Sisäsilmukan iteraatio 2 i = 2; j = 2 Ulkosilmukan iteraatio 3 Sisäisen silmukan iteraatio 1 i = 3; j = 1 Sisäsilmukan iteraatio 2 i = 3; j = 2 ulkosilmukan iterointi 4 sisäisen silmukan iteraatio 1 i = 4; j = 1 Sisäsilmukan iteraatio 2 i = 4; j = 2 Ulkosilmukan iterointi 5 Sisäisen silmukan iteraatio 1 i = 5; j = 1 Sisäsilmukan iteraatio 2 i = 5; j = 2
Yllä olevassa ohjelmassa ulompi silmukka toistuu 5 kertaa. Kummassakin ulkosilmukan iteraatiossa sisäinen silmukka toistaa 2 kertaa.
Swift Sisäkkäin silmukan aikana
Sisäkkäinen while-silmukka sisältää while-silmukan lauseena toisen while-silmukan sisällä. Sinulla voi olla mikä tahansa määrä sisäkkäisiä silmukoita tarpeen mukaan.
Esimerkki 2: Swift sisäkkäin silmukan aikana
var i = 1 while i <= 5 ( print("Outer loop iteration ", i) var j = 1 while j <= 2 ( print("Inner loop iteration ", j) print("i = (i); j = (j)") j += 1 ) i += 1 )
Ohjelman tuotos on sama kuin yllä olevassa ohjelmassa.
Swift Nested -toistosilmukka
Sisäkkäinen Repeat while -silmukka sisältää Repeat-while-silmukan lauseena toisen Repeat-while-silmukan sisällä. Sinulla voi olla mikä tahansa määrä sisäkkäisiä silmukoita tarpeen mukaan.
Esimerkki 3: Swift Nested -toistosilmukka
var i = 1 repeat ( print("Outer loop iteration ", i) var j = 1 repeat ( print("Inner loop iteration ", j) print("i = (i); j = (j)") j += 1 ) while (j <= 2) i += 1 ) while (i <= 5)
Ohjelman tuotos on sama kuin yllä olevassa ohjelmassa.
Erityyppinen nopea sisäkkäinen silmukka
Samantyyppisiä sisäkkäisiä silmukoita ei tarvitse olla. Voit myös luoda muunnelmia sisäkkäisistä silmukoista asettamalla silmukan tyypin muun tyyppisiin silmukoihin.
Esimerkki 3: Nopea sisäkkäinen silmukka aikaa ja varten
Alla oleva ohjelma sisältää erityyppisiä sisäkkäisiä silmukoita (while ja for-in loop).
var i = 1 while i <= 5 ( print("Outer loop iteration ", i) for j in 1… 2 ( print("Inner loop iteration ", j) print("i = (i); j = (j)") ) i += 1 )
Ohjelman tuotos on sama kuin yllä olevassa ohjelmassa.
Esimerkki 4: Ohjelma luomaan kuvio Swift-silmukoilla
Sisäkkäisiä silmukoita käytetään usein kuvioiden luomiseen ohjelmoinnissa. Alla oleva ohjelma näyttää kuinka voit luoda yksinkertaisen kuvion sisäkkäisillä silmukoilla.
let rows = 5 for i in 1… rows ( for j in 1… i ( print("(j) ", terminator: "") ) print("") )
Kun suoritat ohjelmaa, tulos on:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5