Diapazonai greitai (su pavyzdžiais)

Šiame straipsnyje sužinosite apie „Swift“ diapazoną, jo tipą ir naudojimo atvejus.

Diapazonas yra reikšmių intervalas. Paprastas diapazono pavyzdys yra 0,1,2,3,4,5,6,7,8,9, nes skaičiai yra nuoseklūs nuo 0 iki 9.

Mes galime greitai sukurti diapazoną, naudodamiesi dviem toliau aprašytais diapazono operatoriais:

1. Uždaro diapazono operatorius (apatinis ir viršutinis)

Ji apima visas intervalo reikšmes (nuo apatinės iki viršutinės). Jis deklaruojamas naudojant (3 taškų) operatorių.

Pvz .: 1… 3 apibrėžia diapazoną, kurio vertės yra 1,2,3

2. Pusiau atviro nuotolio operatorius (apatinis)

Ji apima visas intervalo reikšmes (nuo apatinės iki viršutinės), tačiau neįtraukia paskutinio (viršutinio) skaičiaus. Tai deklaruojama naudojant … <operatorių.

Pvz .: 1… <3 apibrėžia diapazoną, kuriame yra 1 ir 2 vertės

Diapazono tipai

1. Uždaras diapazonas (apatinis … viršutinis)

Diapazonai, sukurti naudojant uždaro diapazono operatorių, vadinami uždaru diapazonu. Ji apima visas vertes nuo apatinės iki viršutinės.

1 pavyzdys: uždaro diapazono verčių spausdinimas naudojant įvesties kilpą

 // 1… 3 Defines a range containing values 1, 2 and 3 for value in 1… 3 ( print(value) ) 

Kai paleisite programą, išvestis bus:

 1 2 3 

Ankstesniame pavyzdyje sukuriamas diapazonas, kuriame yra skaičiai nuo 1 iki 3 ( 1… 3). Mes naudojome „for-in“ kilpą, kad sužinotume, kokias reikšmes turi diapazonas. Norėdami sužinoti daugiau apie įvesties kilpas, apsilankykite „Swift for-in“ cikle.

Naudojant įvesties kilpą, matome, kad uždarame diapazone yra visos nurodyto diapazono vertės, įskaitant apatinę (1) ir viršutinę (3) ribines vertes.

2. Pusiau atviras diapazonas (apatinis ribotas …

Diapazonai, sukurti naudojant pusiau atviro diapazono operatorių, vadinami pusiau atvirais diapazonais. Ji apima visas vertes nuo apatinės iki viršutinės ribos, bet neįtraukia viršutinės ribos vertės.

2 pavyzdys: Pusės atviro diapazono verčių spausdinimas naudojant įvesties kilpą

 // 1… <3 Defines a range containing values 1,2 for value in 1… <3 ( print(value) ) 

Kai paleisite programą, išvestis bus:

 1 2 

Ankstesniame pavyzdyje mes naudojome „for-in“ kilpą, kad pamatytume, kaip veikia pusiau atviras diapazonas.

Užuot atspausdinę visas reikšmes, galime aiškiai matyti, kad pusiau atidarytas operatorius spausdina tik 1 ir 2, o viršutinė ribinė vertė (ty 3) neįtraukiama.

3. Vienpusis diapazonas

Vienpusis diapazonas yra tie diapazono tipai, kurie tęsiasi kuo toliau viena kryptimi. Jį galima sukurti naudojant pusiau atviro ir uždaro diapazono operatorių, tačiau operatorius gali turėti vertę tik vienoje pusėje.

3 pavyzdys: vienpusis diapazonas mažesnis nei 2

 let range =… <2 print(range.contains(-1)) print(range.contains(2)) 

Kai paleisite programą, išvestis bus:

 tiesa melaginga 

Ankstesniame pavyzdyje sukuriamas vienpusis diapazonas naudojant pusiau atviro diapazono operatorių, kuriame yra bet kokie skaičiai, mažesni nei du.

Norėdami patvirtinti rezultatą, naudojome contains metodą. containsMetodas paprasčiausiai grąžina true, jei elementas yra viduje diapazone kitaip ji grįžta false.

range.contains(-1)patikrina, ar -1 yra diapazone, ar ne. Kadangi jos vienpusis diapazonas su viršutine riba 2 ir -1 <2, jis yra diapazono viduje ir print(range.contains(-1))išvedamas trueekrane.

However, because of half-open range operator, the upper bound value(2) does not contains inside the range. So, range.contains(2) returns false.

Example 4:One-sided range starting from 2

 let range = 2… print(range.contains(100)) print(range.contains(1)) 

When you run the program, the output will be:

 true false 

The above example creates a one sided range using closed operator that contains numbers from 2 to any values greater than 2.

range.contains(100) checks if 100 lies inside the range or not. Since, its one sided range and 100 is greater than 2, it lies inside the range and prints true in the screen.

However, it has a lower bound value (2), so range.contains(1) returns false .

Things to remember

  • Diapazono pradžia turi būti mažesnė arba lygi jos pabaigai. Mūsų pavyzdyje (lowerBound… upperBound)apatinė ribinė vertė turi būti mažesnė už viršutinę ribinę vertę. Tačiau tai gali būti neigiama reikšmė.
    Pavyzdys:
    3… 1 // lemtinga klaida: negalima suformuoti diapazono su viršutine <<apatinė> 3> 1 // Tai galiojantis diapazonas. Apatinėje / viršutinėje dalyje gali būti neigiama reikšmė, tačiau ji turėtų patvirtinti pirmiau pateiktą teiginį.
  • Mes galime kartoti diapazoną (išskyrus vienpusį diapazoną), naudodami įvesties kilpas.
  • Mes taip pat galime naudoti diapazono operatorių, norėdami pasiekti masyvo elementus.

Įdomios straipsniai...