Snabba kapslade öglor (med exempel)

I den här artikeln lär du dig om kapslade loopar och hur det fungerar, med exempel.

Om det finns en slinga inuti en annan slinga kallas den en kapslad slinga. Här är ett exempel på kapslad in-loop.

 för i i 1… 5 (// uttalanden för yttre slinga för j i 1… 2 (// uttalanden för inre slinga) // uttalanden för yttre slinga) 

Här är for j in 1… 2slingan som kallas inre slinga inuti kroppen som for i in 1… 5kallas yttre slinga.

Det bör noteras att kapslad slinga kanske inte innehåller slingor av samma typ. Du kan till exempel sätta en stund-slinga inuti kroppen på en för-slinga och det är fortfarande en kapslad slinga.

Swift Nested In-Loop

En kapslad in-loop innehåller en in-loop som uttalande i en annan in-loop. Du kan ha valfritt antal kapslade in-loopar efter behov.

Exempel 1: Swift Nested for-in Loop

 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)") ) ) 

När du kör programmet blir resultatet:

Yttre slinga iteration 1 Inre loop iteration 1 i = 1; j = 1 Inter loop-iteration 2 i = 1; j = 2 Yttre loop iteration 2 Inre loop iteration 1 i = 2; j = 1 Inre slinga iteration 2 i = 2; j = 2 Yttre slinga iteration 3 Inre slinga iteration 1 i = 3; j = 1 Inter loop-iteration 2 i = 3; j = 2 Yttre loop iteration 4 Inre loop iteration 1 i = 4; j = 1 Inre slinga iteration 2 i = 4; j = 2 Yttre ögla iteration 5 Inre loop iteration 1 i = 5; j = 1 Inre slinga iteration 2 i = 5; j = 2

I ovanstående program iteras den yttre slingan 5 gånger. I varje iteration av yttre slinga, itererar den inre slingan två gånger.

Snabbt kapslat medan Loop

En kapslad while-loop innehåller en while-loop som uttalande i en annan while-loop. Du kan ha valfritt antal kapslade medan slingor efter behov.

Exempel 2: Snabb kapslad medan Loop

 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 ) 

Programmets resultat är samma som ovanstående program.

Snabb kapslad repetition medan Loop

En kapslad repetitionsslinga innehåller en repetitionsslinga som uttalande i en annan repeteringsslinga. Du kan ha valfritt antal kapslade medan slingor efter behov.

Exempel 3: Snabb kapslad repetition medan Loop

 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) 

Programmets resultat är samma som ovanstående program.

Snabb kapsling av olika typer

Det är inte nödvändigt att ha kapslingar av samma typ. Du kan också skapa varianter av kapslade öglor genom att placera en typ av ögla i andra typer av öglor.

Exempel 3: Swift Nested Loop av medan och för

Nedanstående program innehåller kapslade slingor av olika typer (medan och för-in-slinga).

 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 ) 

Programmets resultat är samma som ovanstående program.

Exempel 4: Program för att skapa ett mönster med Swift-loopar

Kapslade slingor används ofta för att skapa mönster i programmeringen. Nedanstående program visar hur du kan skapa ett enkelt mönster med kapslade öglor.

 let rows = 5 for i in 1… rows ( for j in 1… i ( print("(j) ", terminator: "") ) print("") ) 

När du kör programmet blir resultatet:

 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5

Intressanta artiklar...