Šiame straipsnyje jūs sužinosite, kaip naudoti tęsinį, perduodant programos valdymą.
Kol dirbate su kilpomis ar sąlyginiais teiginiais, gali tekti praleisti kai kuriuos sakinius ciklo viduje arba nedelsiant nutraukti kilpą, netikrindami testo išraiškos.
Tokiais atvejais yra naudojami pertraukimo ir tęsimo teiginiai. Apsilankykite puslapyje, kad sužinotumėte daugiau apie lūžio ataskaitą.
Tęsiant sakinį sustabdomas sakinių vykdymas cikle arba jungiklio sakinyje. Tada jis praleidžia atgal, kad dar kartą įvertintų ciklo testo išraišką.
Tęsinio sakinio sintaksė yra tokia:
Tęsti
Kaip veikia tęstinis pareiškimas?
1 pavyzdys: Greitas tęsinio sakinys už kilpą
for i in 1… 5 ( if i == 4 ( continue ) print("i = (i)") )
Kai paleisite programą, išvestis bus:
i = 1 i = 2 i = 3 i = 5
Pirmiau pateiktoje programoje iteruojama seka yra nuo 1 iki 5.
I reikšmė nustatoma į pirmąjį diapazono skaičių (1) ir atnaujinama iki kito diapazono skaičiaus kiekvienoje iteracijoje.
Cikle taip pat yra if sakinys su išraiška i == 4
. Išraiška, įvertinus tiesą (4-oje iteracijoje), vykdo continue
sakinį, praleidžia teiginio vykdymą print("i = (i)")
ir pereina prie kitos iteracijos (i = 5).
2 pavyzdys: Greitas tęsinio sakinys, o ciklas
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")
Kai paleisite programą, išvestis bus:
Pradinis lygis turi būti teigiamas kito lygio kitas lygis už ciklo ribų
Pirmiau pateiktoje programoje „while“ ciklas veikia tol, kol currentLevel yra mažesnis nei finalLevel. Kadangi „intialLevel“ priskiriama reikšmė -5 ir yra mažesnė nei 0, vykdomi teiginiai if
.
Kai programa pasiekia continue
teiginį, ji praleidžia „while“ ciklo sakinius ir currentLevel < finalLevel
vėl šokinėja tikrinti būsenos .
3 pavyzdys: Greitas tęsinio sakinys su įdėtomis kilpomis
for j in 1… 2 ( for i in 1… 5 ( if i == 4 ( continue ) print("i = (i)") ) print("j = (j)") )
Kai paleisite programą, išvestis bus:
i = 1 i = 2 i = 3 i = 5 j = 1 i = 1 i = 2 i = 3 i = 5
Pirmiau pateiktoje programoje continue
teiginys viduje if i == 4
praleidžia teiginio vykdymą print("i = (i)")
ciklo viduje. Tačiau jis nepraleidžia išorinės kilpos vykdymo for i in 1… 5
.
Bet ką daryti, jei norite ir continue
išorinio kilimo. Tam „Swift“ turite naudoti pažymėtus teiginius.
Pažymėtas pareiškimas su tęsiniu
Teiginiai, kurių formoje yra priešdėliai (etiketė: Pareiškimas), vadinami etiketėmis. Etiketė yra identifikatorius, kurį galite nurodyti vėliau pertraukų arba tęsti sakiniuose. Norėdami sužinoti daugiau apie pažymėtus teiginius, apsilankykite „Swift“ etiketėje.
Kaip veikia paženklintas pareiškimas su tęsiniu?
Čia etiketė yra identifikatorius. Vykdant continue
teiginį, programa praleidžia likusią ciklo dalį cikle ir pereina prie teiginio, kur prasideda etiketė.
4 pavyzdys: Pažymėtas pareiškimas su tęsiniu
outerloop: for j in 1… 2 ( innerloop: for i in 1… 5 ( if i == 4 ( continue outerloop ) print("i = (i)") ) print("j = (j)") )
Kai paleisite programą, išvestis bus:
i = 1 i = 2 i = 3 i = 1 i = 2 i = 3
Pirmiau pateiktoje programoje yra du pažymėti teiginiai outerloop: for j in 1… 2
ir innerloop: for i in 1… 5
.
Kartu su sakiniu galima naudoti etikečių pavadinimus išorinis ir vidinis continue
.
Programoje mes naudojome teiginį, continue outerloop
kad praleistume teiginių vykdymą tiek vidinėse, tiek išorinėse kilpose. Proceso metu tiek i, tiek j vertės atnaujinamos iki kito skaičiaus diapazone.