Rozsahy v systéme Swift (s príkladmi)

V tomto článku sa dozviete o rozsahu, jeho type a prípadoch použitia v aplikácii Swift.

Rozsah je interval hodnôt. Jednoduchý príklad rozsahu je 0,1,2,3,4,5,6,7,8,9, pretože čísla sú postupné od 0 do 9.

Rozsah môžeme vytvoriť rýchlo pomocou dvoch operátorov rozsahu, ktoré sú popísané nižšie:

1. Prevádzkovateľ uzavretého rozsahu (dolná hranica … horná hranica)

Zahŕňa všetky hodnoty v intervale (od dolnej hranice k hornej hranici). Deklaruje sa pomocou (3 bodky) operátora.

Napr .: 1… 3 Definuje rozsah obsahujúci hodnoty 1,2,3

2. Polovičný operátor s otvoreným dosahom (nižší …

Zahŕňa všetky hodnoty v intervale (od dolnej do hornej hranice), ale vylučuje posledné (horné) číslo. Deklaruje sa pomocou … <operátora.

Napr .: 1… <3 Definuje rozsah obsahujúci hodnoty 1 a 2

Typy rozsahu

1. Uzavretý rozsah (dolná hranica … horná hranica)

Rozsahy vytvorené pomocou operátora uzavretého rozsahu sa nazývajú uzavretý rozsah. Zahŕňa všetky hodnoty od dolnej po hornú hranicu.

Príklad 1: Tlač hodnôt uzavretého rozsahu pomocou slučky for-in

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

Po spustení programu bude výstup:

 1 2 3 

Vyššie uvedený príklad vytvára rozsah, ktorý obsahuje čísla od 1 do 3 ( 1… 3). Použili sme slučku for-in, aby sme zistili, aké hodnoty rozsah obsahuje. Ak sa chcete dozvedieť viac informácií o slučkách pre vstup, navštívte slučku pre vstup.

Pomocou slučky for-in môžeme vidieť, že uzavretý rozsah obsahuje všetky hodnoty v danom rozsahu vrátane dolných (1) a horných (3) ohraničených hodnôt.

2. Polovica otvoreného rozsahu (nižšia hranica …

Rozsahy vytvorené pomocou operátora napoly otvoreného rozsahu sa nazývajú napoly otvorené rozsahy. Zahŕňa všetky hodnoty od dolnej po hornú hranicu, ale vylučuje hornú hranicu.

Príklad 2: Tlač polovičných hodnôt otvoreného rozsahu pomocou slučky for-in

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

Po spustení programu bude výstup:

 1 2 

Vo vyššie uvedenom príklade sme pomocou slučky for-in videli, ako funguje napoly otvorený rozsah.

Namiesto toho, aby sme vytlačili všetky hodnoty, môžeme jasne vidieť, že pri použití operátora s polovičným otvorením sa vytlačí iba 1 a 2, a to vylučuje hornú hranicu (tj. 3).

3. Jednostranný rozsah

Jednostranný rozsah sú tie typy rozsahu, ktoré pokračujú čo najviac jedným smerom. Môže byť vytvorený pomocou operátora polovičného otvoreného rozsahu aj operátora uzavretého rozsahu, ale operátor môže mať hodnotu iba na jednej strane.

Príklad 3: Jednostranný rozsah menší ako 2

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

Po spustení programu bude výstup:

 pravda lož 

Vyššie uvedený príklad vytvára jednostranný rozsah pomocou operátora napoly otvoreného rozsahu, ktorý obsahuje akékoľvek čísla menšie ako dve.

Na overenie nášho výsledku sme použili contains metódu. containsMetóda jednoducho vráti truev prípade, že prvok leží vnútri rozsahu inak vracia false.

range.contains(-1)skontroluje, či -1 leží v rozsahu alebo nie. Pretože jeho jednostranný rozsah s hornou hranicou 2 a -1 <2 leží vnútri rozsahu a print(range.contains(-1))výstupov truena obrazovke.

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

  • Začiatok rozsahu musí byť menší alebo rovnaký ako jeho koniec. V našom príklade (lowerBound… upperBound)musí byť dolná hraničná hodnota menšia ako horná hraničná hodnota. Môže to však byť negatívna hodnota.
    Príklad:
    3… 1 // závažná chyba: Nie je možné vytvoriť rozsah s upperBound <lowerBound -3… 1 // Toto je platný rozsah. Lowerbound / Upperbound môže obsahovať zápornú hodnotu, ale mal by platiť vyššie uvedený výrok.
  • Môžeme iterovať cez rozsah (okrem jednostranného rozsahu) pomocou slučiek for-in.
  • Môžeme tiež použiť operátor rozsahu na prístup k prvkom poľa.

Zaujímavé články...