Nopea jatko-lausunto (esimerkkien kanssa)

Tässä artikkelissa opit käyttämään jatko-lauseita ohjelman hallinnan siirtämiseen.

Kun työskentelet silmukoiden tai ehdollisten lauseiden kanssa, saatat joutua ohittamaan joitain lauseita silmukan sisällä tai lopettamaan silmukan välittömästi tarkistamatta testilauseketta.

Tällaisissa tapauksissa käytetään keskeytys- ja jatko-lauseita. Vieraile sivulla saadaksesi lisätietoja taukoilmoituksesta.

Jatka-lause lopettaa lauseiden suorittamisen silmukassa tai kytkinlausekkeessa. Sitten se hyppää takaisin arvioimaan silmukan testilauseketta uudelleen.

Jatka-lauseen syntaksin muoto on:

 jatkaa

Kuinka jatkoilmoitus toimii?

Esimerkki 1: Nopea jatko-lause lausetta varten

 for i in 1… 5 ( if i == 4 ( continue ) print("i = (i)") ) 

Kun suoritat ohjelmaa, tulos on:

 i = 1 i = 2 i = 3 i = 5 

Yllä olevassa ohjelmassa iteroitava sekvenssi on alue 1-5.

I: n arvo asetetaan alueen ensimmäiseksi numeroksi (1) ja päivitetään kunkin iteraation alueen seuraavaan numeroon.

Silmukka sisältää myös lausekkeen if i == 4. Lauseke, kun se arvioidaan tosi (4. iteraatiossa), suorittaa continuelauseen, ohittaa lauseen suorituksen print("i = (i)")ja siirtyy seuraavaan iteraatioon (i = 5).

Esimerkki 2: Nopea jatka lausetta while-silmukassa

 var intialLevel:Int = -5, finalLevel:Int = 2 var currentLevel:Int = intialLevel while currentLevel < finalLevel ( if intialLevel < 0 ( print("Starting level must be positive") intialLevel = 0 currentLevel = intialLevel continue //skips the current execution ) currentLevel += 1 print("next level") ) print("outside of while loop") 

Kun suoritat ohjelmaa, tulos on:

 Lähtötason on oltava positiivinen seuraavan tason seuraava taso silmukan ulkopuolella 

Edellä olevassa ohjelmassa while-silmukka kulkee, kunnes currentLevel on pienempi kuin finalLevel. Koska intialLevel-arvolle on annettu arvo -5 ja se on alle 0, lauseet ifsuoritetaan.

Kun ohjelma saavuttaa continuelauseen, se ohittaa while-silmukan lauseet ja hyppää tarkistamaan kunnon currentLevel < finalLeveluudelleen.

Esimerkki 3: Nopea jatko-käsky sisäkkäisillä silmukoilla

 for j in 1… 2 ( for i in 1… 5 ( if i == 4 ( continue ) print("i = (i)") ) print("j = (j)") ) 

Kun suoritat ohjelmaa, tulos on:

 i = 1 i = 2 i = 3 i = 5 j = 1 i = 1 i = 2 i = 3 i = 5 

Yllä olevassa ohjelmassa ainoa continuelause if i == 4ohittaa lauseen print("i = (i)")sisäisen silmukan sisäisen lauseen suorittamisen . Se ei kuitenkaan ohita ulomman silmukan suorittamista for i in 1… 5.

Mutta entä jos haluat continuemyös ulomman verhon. Tätä varten sinun on käytettävä merkittyjä lauseita Swiftissä.

Merkitty lausunto jatkuu

Lausekkeet, joissa on etuliitteitä muodossa (label: Statement), kutsutaan tunnisteina. Tunniste on tunniste, johon voit viitata myöhemmin tauko- tai jatko-lauseissa. Lisätietoja merkityistä lauseista on Swift-merkittyissä lausunnoissa.

Kuinka jatketut lausunnot toimivat?

Tässä tarra on tunniste. Kun continuekäsky suoritetaan, ohjelma ohittaa loput koe silmukan sisällä ja hyppää lauseeseen, josta etiketti alkaa.

Esimerkki 4: Merkitty lausunto jatkoa

 outerloop: for j in 1… 2 ( innerloop: for i in 1… 5 ( if i == 4 ( continue outerloop ) print("i = (i)") ) print("j = (j)") ) 

Kun suoritat ohjelmaa, tulos on:

 i = 1 i = 2 i = 3 i = 1 i = 2 i = 3 

Yllä olevassa ohjelmassa on kaksi merkittyä lausetta outerloop: for j in 1… 2ja innerloop: for i in 1… 5.

Etiketin nimiä ulompi ja sisempi voi käyttää continuelausekkeen kanssa.

Ohjelmassa olemme käyttäneet lausetta continue outerloopohittaaksesi lauseiden suorittamisen sekä sisä- että ulkosilmukassa. Prosessissa sekä i: n että j: n arvot päivitetään seuraavaan numeroon alueella.

Mielenkiintoisia artikkeleita...