Kiire jätkamise avaldus (koos näidetega)

Selles artiklis õpitakse programmi jätkamise üleandmist jätkama.

Kui töötate tsüklite või tingimuslausetega, peate võib-olla mõne tsükli sees oleva lause vahele jätma või tsükli kohe katkestama, kontrollimata testavaldist.

Sellistel juhtudel kasutatakse katkemise ja jätkamise avaldusi. Murdeavalduse kohta lisateabe saamiseks külastage lehte.

Jätkav lause peatab tsükli või lüliti lause sees olevate lausete täitmise. Seejärel hüppab see tagasi, et tsükli testi väljendust uuesti hinnata.

Jätkava lause süntaks on järgmine:

 jätkata

Kuidas jätkub avaldus töötab?

Näide 1: kiire jätkamise lause tsükli jaoks

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

Programmi käivitamisel on väljund järgmine:

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

Ülaltoodud programmis on itereeritav järjestus vahemikus 1 kuni 5.

I väärtuseks määratakse vahemiku (1) esimene number ja ajakohastatakse igal iteratsioonil vahemiku järgmise numbriga.

Tsükkel sisaldab ka lauset if i == 4. Tõeseks hinnatud avaldis (4. iteratsiooni korral) täidab continuelause, jätab lause täitmise vahele print("i = (i)")ja liigub järgmisele iteratsioonile (i = 5).

Näide 2: Kiire lause jätkamine loopi ajal

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

Programmi käivitamisel on väljund järgmine:

 Lähteaste peab olema positiivne järgmisel tasemel järgmisel tasemel väljaspool loopi 

Ülaltoodud programmis töötab while-tsükkel seni, kuni currentLevel on väiksem kui finalLevel. Kuna intialLevel'ile on määratud väärtus -5 ja see on väiksem kui 0, ifkäivitatakse laused sees .

Kui programm jõuab continueavalduseni, jätab ta tsükli while väited vahele ja hüppab tingimust currentLevel < finalLeveluuesti kontrollima .

Näide 3: Kiire jätkamise lause pesastatud silmustega

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

Programmi käivitamisel on väljund järgmine:

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

Eespool programmi continueavaldus sees if i == 4ainult ignoreerib täitmise avaldus print("i = (i)")sisemises silmus. Kuid see ei jäta välise silmuse täitmist vahele for i in 1… 5.

Aga mis siis, kui soovite continueka väliskülge. Selleks peate Swiftis kasutama sildistatud avaldusi.

Märgistatud avaldus jätkamisega

Avaldusi, millel on vormis eesliited (silt: Avaldus), kutsutakse sildistatud avaldusena. Silt on identifikaator, millele saate viidata hiljem lause- või jätkulausetes. Märgistatud väljavõtete kohta lisateabe saamiseks külastage Swifti sildiga avaldust.

Kuidas jätkub siltidega avaldus?

Siin on silt identifikaator. Kui continuelause täidetakse, jätab programm ülejäänud coe tsüklis vahele ja hüppab selle lause juurde, kust silt algab.

Näide 4: sildistatud avaldus jätkamisega

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

Programmi käivitamisel on väljund järgmine:

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

Ülaltoodud programmis on kaks sildistatud lauset outerloop: for j in 1… 2ja innerloop: for i in 1… 5.

Lausega saab kasutada sildi nimetusi externalloop ja innerloop continue.

Programmis oleme kasutanud continue outerlooplauset nii sisemise kui ka välise silmuse sees lausete täitmise vahele jätmiseks. Selle käigus värskendatakse nii i kui ka j väärtused vahemiku järgmisele numbrile.

Huvitavad Artiklid...