Gama în Swift (cu exemple)

În acest articol, veți afla despre gama, tipul și cazurile de utilizare în Swift.

Un interval este un interval de valori. Un exemplu simplu de interval este 0,1,2,3,4,5,6,7,8,9 deoarece numerele sunt secvențiale de la 0 la 9.

Putem crea intervalul rapid folosind doi operatori de interval descriși mai jos:

1. Operator cu rază închisă (lowerBound … upperBound)

Include toate valorile din interval (legat de jos la superior). Este declarat folosind operatorul (3 puncte).

De exemplu: 1… 3 definește intervalul care conține valori 1,2,3

2. Operator pe jumătate deschisă (inferiorBound …

Include toate valorile din interval (de la mai jos la superior), dar exclude ultimul număr (upperBound). Este declarat folosind … <operator.

De exemplu: 1… <3 definește intervalul care conține valorile 1 și 2

Tipuri de gamă

1. Gama închisă (lowerBound … upperBound)

Intervalele create utilizând operatorul cu raza închisă sunt denumite raza închisă. Acesta include toate valorile de la lowerbound la upperbound.

Exemplul 1: Imprimarea valorilor intervalului închis utilizând bucla for-in

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

Când rulați programul, ieșirea va fi:

 1 2 3 

Exemplul de mai sus creează un interval care conține numere de la 1 la 3 ( 1… 3). Am folosit o buclă de intrare pentru a vedea ce valori conține gama. Pentru a afla mai multe despre buclele de intrare, vizitați bucla de intrare Swift.

Folosind bucla for-in, putem vedea că intervalul închis conține toate valorile din intervalul dat, inclusiv valorile limită inferioară (1) și superioară (3).

2. Gama deschisă pe jumătate (lowerBound …

Gamele create folosind operatorul pe jumătate deschisă sunt numite ca zone pe jumătate deschise. Include toate valorile de la limita inferioară la limita superioară, dar exclude valoarea limită superioară.

Exemplul 2: tipărirea valorilor pe jumătate de interval deschis folosind bucla for-in

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

Când rulați programul, ieșirea va fi:

 1 2 

În exemplul de mai sus, am folosit bucla for-in pentru a vedea cum funcționează gama pe jumătate deschisă.

În loc să tipărim toate valorile, putem vedea în mod clar folosind operatorul semi-deschis doar tipărește 1 și 2 și exclude valoarea limită superioară (adică 3).

3. Gama unilaterală

Gama unilaterală sunt acele tipuri de raza care continuă cât mai mult posibil într-o singură direcție. Poate fi creat utilizând atât operatorul pe jumătate deschisă cât și operatorul cu interval închis, dar operatorul poate avea o valoare pe o singură parte.

Exemplul 3: interval unilateral mai mic de 2

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

Când rulați programul, ieșirea va fi:

 adevarat fals 

Exemplul de mai sus creează o gamă unilaterală folosind operatorul de gamă semi-deschisă care conține orice numere mai mici de două.

Pentru a valida rezultatul nostru am folosit contains metoda. containsMetoda returneaza pur și simplu , în truecazul în care elementul se află în interiorul intervalului altfel returnează false.

range.contains(-1)verifică dacă -1 se află în interval sau nu. Deoarece, gama sa unilaterală cu limita superioară 2 și -1 <2 se află în interiorul intervalului și al print(range.contains(-1))ieșirilor truepe ecran.

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

  • Începutul unui interval trebuie să fie mai mic sau egal cu sfârșitul acestuia. În exemplul nostru (lowerBound… upperBound), valoarea limită inferioară trebuie să fie mai mică decât valoarea limită superioară. Cu toate acestea, poate fi o valoare negativă.
    Exemplu:
    3 … 1 // eroare fatală: Nu se poate forma Range cu upperBound <lowerBound -3 … 1 // Acesta este un interval valid. Lowerbound / Upperbound poate conține o valoare negativă, dar ar trebui să valideze afirmația de mai sus.
  • Putem itera peste interval (cu excepția intervalului unilateral) folosind bucle de intrare.
  • De asemenea, putem folosi operatorul de gamă pentru a accesa elementele unei matrice.

Articole interesante...