Diapazoni ātri (ar piemēriem)

Šajā rakstā jūs uzzināsiet par Swift diapazonu, tā veidu un lietošanas gadījumiem.

Diapazons ir vērtību intervāls. Vienkāršs diapazona piemērs ir 0,1,2,3,4,5,6,7,8,9, jo skaitļi ir secīgi no 0 līdz 9.

Mēs varam ātri izveidot diapazonu, izmantojot divus tālāk aprakstītos diapazona operatorus:

1. Slēgta diapazona operators (zemāk piesaistīts … augšējais savienojums)

Tas ietver visas vērtības intervālā (no apakšējā līdz augšējam). Tas tiek deklarēts, izmantojot (3 punkti) operatoru.

Piemēram: 1… 3 nosaka diapazonu, kura vērtības ir 1,2,3

2. Puse atvērta diapazona operators (zemāk piesaistīts …

Tas ietver visas vērtības intervālā (no apakšējā līdz augšējam, bet neietver pēdējo (augšējo). Tas tiek deklarēts, izmantojot … <operatoru.

Piemēram: 1… <3 definē diapazonu, kas satur 1. un 2. vērtību

Diapazona veidi

1. Slēgts diapazons (zemākSasaists … augšējaisSaistīts)

Diapazonus, kas izveidoti, izmantojot slēgta diapazona operatoru, sauc par slēgtu diapazonu. Tas ietver visas vērtības no apakšējās līdz augšējai.

1. piemērs: slēgta diapazona vērtību drukāšana, izmantojot ievadīšanas cilpu

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

Palaidot programmu, izeja būs:

 1 2 3 

Iepriekš minētajā piemērā tiek izveidots diapazons, kurā ir skaitļi no 1 līdz 3 ( 1… 3). Mēs izmantojām for-in cilpu, lai redzētu, kādas vērtības diapazons satur. Lai uzzinātu vairāk par ievadīšanas cilpām, apmeklējiet vietni Swift for-in loop.

Izmantojot ievadīšanas cilpu, mēs varam redzēt, ka slēgtajā diapazonā ir visas vērtības norādītajā diapazonā, ieskaitot apakšējās (1) un augšējās (3) robežas.

2. Puse atvērta diapazona (zemāka

Diapazonus, kas izveidoti, izmantojot pusi atvērta diapazona operatoru, sauc par pusi atvērtiem diapazoniem. Tas ietver visas vērtības no apakšējās robežas līdz augšējai robežai, bet izslēdz augšējo robežu.

2. piemērs: Puse atvērta diapazona vērtību drukāšana, izmantojot ievadīšanas cilpu

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

Palaidot programmu, izeja būs:

 1 2 

Iepriekš minētajā piemērā mēs esam izmantojuši for-in ciklu, lai redzētu, kā darbojas daļēji atvērts diapazons.

Tā vietā, lai drukātu visas vērtības, mēs skaidri redzam, ka puse atvērta operatora drukā tikai 1. un 2., un tas izslēdz augšējo robežu (ti, 3.).

3. Vienpusējs diapazons

Vienpusējs diapazons ir tie diapazona veidi, kas turpinās, cik vien iespējams, vienā virzienā. To var izveidot, izmantojot gan atvērta diapazona operatoru, gan slēgta diapazona operatoru, taču operatoram var būt vērtība tikai vienā pusē.

3. piemērs: vienpusējs diapazons ir mazāks par 2

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

Palaidot programmu, izeja būs:

 patiess melīgs 

Iepriekš minētais piemērs izveido vienpusēju diapazonu, izmantojot pusi atvērta diapazona operatoru, kurā ir skaitļi, kas ir mazāki par diviem.

Lai apstiprinātu mūsu rezultātu, mēs izmantojām contains metodi. containsMetode vienkārši atgriež trueja elements meli iekšpusē diapazonā pretējā gadījumā tā atgriež false.

range.contains(-1)pārbauda, ​​vai -1 atrodas diapazonā vai nē. Tā kā tā vienpusējais diapazons ar augšējo robežu 2 un -1 <2 tas atrodas diapazona iekšpusē un tiek print(range.contains(-1))izvadīts trueekrānā.

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

  • Diapazona sākumam jābūt mazākam vai vienādam ar tā beigām. Mūsu piemērā (lowerBound… upperBound)zemākajai robežvērtībai jābūt mazākai par augšējās robežas vērtību. Tomēr tā var būt negatīva vērtība.
    Piemērs:
    3… 1 // fatāla kļūda: Nevar izveidot diapazonu ar upperBound <lowerBound -3… 1 // Šis ir derīgs diapazons. Apakšējā / augšējā robeža var saturēt negatīvu vērtību, taču tai vajadzētu būt derīgai iepriekš minētajam apgalvojumam.
  • Mēs varam atkārtot diapazonu (izņemot vienpusēju diapazonu), izmantojot ievadīšanas cilpas.
  • Mēs varam arī izmantot diapazona operatoru, lai piekļūtu masīva elementiem.

Interesanti raksti...