Rozsahy v Swift (s příklady)

V tomto článku se dozvíte o rozsahu, jeho typu a případech použití v Swift.

Rozsah je interval hodnot. Jednoduchý příklad rozsahu je 0,1,2,3,4,5,6,7,8,9, protože čísla jsou postupná od 0 do 9.

Můžeme vytvořit rozsah v swift pomocí dvou operátorů rozsahu popsaných níže:

1. Operátor uzavřeného rozsahu (dolní mez … horní mez)

Zahrnuje všechny hodnoty v intervalu (od dolní hranice k horní hranici). Deklaruje se pomocí (3 tečky) operátoru.

Např .: 1… 3 Definuje rozsah obsahující hodnoty 1,2,3

2. Polovina otevřeného dosahu (nižší hranice…

Zahrnuje všechny hodnoty v intervalu (dolní mez na horní mez), ale vylučuje poslední číslo (horní mez). Deklaruje se pomocí … <operátoru.

Např .: 1… <3 Definuje rozsah obsahující hodnoty 1 a 2

Druhy rozsahu

1. Uzavřený rozsah (dolní mez … horní mez)

Rozsahy vytvořené pomocí operátoru uzavřeného rozsahu se nazývají uzavřený rozsah. Zahrnuje všechny hodnoty od dolního po horní.

Příklad 1: Tisk hodnot uzavřeného rozsahu pomocí smyčky pro vstup

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

Když spustíte program, výstup bude:

 1 2 3 

Výše uvedený příklad vytváří rozsah, který obsahuje čísla od 1 do 3 ( 1… 3). Použili jsme smyčku pro vstup, abychom zjistili, jaké hodnoty rozsah obsahuje. Další informace o smyčkách pro vstup najdete na smyčce pro vstup do Swift.

Pomocí smyčky for-in můžeme vidět, že uzavřený rozsah obsahuje všechny hodnoty v daném rozsahu, včetně dolních (1) a horních (3) vázaných hodnot.

2. Polovina otevřeného rozsahu (nižší mez…

Rozsahy vytvořené pomocí operátoru napůl otevřeného rozsahu se nazývají napůl otevřené rozsahy. Zahrnuje všechny hodnoty od dolní hranice k horní hranici, ale vylučuje hodnotu horní hranice.

Příklad 2: Tisk hodnot napůl otevřeného rozsahu pomocí smyčky for-in

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

Když spustíte program, výstup bude:

 1 2 

Ve výše uvedeném příkladu jsme použili smyčku pro vstup, abychom zjistili, jak funguje napůl otevřený rozsah.

Namísto tisku všech hodnot můžeme jasně vidět, že při použití poloviny otevřeného operátoru vytiskne pouze 1 a 2 a vylučuje horní mezní hodnotu (tj. 3).

3. Jednostranný rozsah

Jednostranný rozsah jsou ty typy rozsahu, které pokračují pokud možno jedním směrem. Může být vytvořen pomocí operátoru polovičního otevřeného rozsahu i operátoru uzavřeného rozsahu, ale operátor může mít hodnotu pouze na jedné straně.

Příklad 3: Jednostranný rozsah menší než 2

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

Když spustíte program, výstup bude:

 true false 

Výše uvedený příklad vytvoří jednostranný rozsah pomocí operátoru napůl otevřeného rozsahu, který obsahuje libovolná čísla menší než dvě.

K ověření našeho výsledku jsme použili contains metodu. containsMetoda jednoduše vrátí truev případě, že prvek leží uvnitř rozsahu jinak vrací false.

range.contains(-1)zkontroluje, zda -1 leží uvnitř rozsahu nebo ne. Protože jeho jednostranný rozsah s horní mezí 2 a -1 <2 leží uvnitř rozsahu a print(range.contains(-1))výstupů truena obrazovce.

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čátek rozsahu musí být menší nebo roven jeho konci. V našem příkladu (lowerBound… upperBound)musí být dolní mezní hodnota menší než horní mezní hodnota. Může to však být záporná hodnota.
    Příklad:
    3… 1 // závažná chyba: Nelze vytvořit rozsah s upperBound <lowerBound -3… 1 // Toto je platný rozsah. Lowerbound / Upperbound může obsahovat zápornou hodnotu, ale měl by platit výše uvedené tvrzení.
  • Můžeme iterovat přes rozsah (kromě jednostranného rozsahu) pomocí smyček pro vstup.
  • Můžeme také použít operátor rozsahu pro přístup k prvkům pole.

Zajímavé články...