Områden i Swift (med exempel)

I den här artikeln lär du dig om sortiment, dess typ och användningsfall i Swift.

Ett intervall är ett intervall av värden. Ett enkelt exempel på intervall är 0,1,2,3,4,5,6,7,8,9 eftersom siffrorna är sekventiella från 0 till 9.

Vi kan skapa räckvidd snabbt med hjälp av två räckviddsoperatörer som beskrivs nedan:

1. Closed Range Operator (nedre gräns … övre gräns)

Den innehåller alla värden i intervallet (nedre till övre gräns). Det deklareras med operatören (3 punkter).

Exempel: 1… 3 Definierar intervall som innehåller värden 1,2,3

2. Halvöppningsoperatör (nedre gräns …

Den innehåller alla värden i intervallet (nedre till övre gräns) men exkluderar det sista (övre gränsen). Det deklareras med … <operatör.

Exempel: 1… <3 Definierar intervall som innehåller värdena 1 och 2

Typer av intervall

1. Stängt intervall (nedre gräns … övre gräns)

Områden som skapas med hjälp av operatören för slutet område kallas för slutet område. Den innehåller alla värden från nedre till övre gräns.

Exempel 1: Skriva ut värden för slutna intervall med hjälp av in-loop

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

När du kör programmet blir resultatet:

 1 2 3 

Ovanstående exempel skapar ett intervall som innehåller siffror från 1 till 3 ( 1… 3). Vi använde en in-loop för att se vilka värden intervallet innehåller. Om du vill veta mer om in-loopar besöker du Swift for-in-loop.

Med hjälp av in-loop kan vi se att slutet område innehåller alla värden i det angivna området inklusive de nedre (1) och övre (3) gränsvärdena.

2. Halvöppen räckvidd (nedre gräns …

Områden som skapats med halvöppningsoperatören kallas halvöppna intervall. Det inkluderar alla värden från nedre till övre gräns men exkluderar det övre gränsvärdet.

Exempel 2: Skriva ut halva öppna intervallvärden med hjälp av in-loop

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

När du kör programmet blir resultatet:

 1 2 

I exemplet ovan har vi använt for-in-loop för att se hur halvöppet intervall fungerar.

Istället för att skriva ut alla värden kan vi tydligt se att man endast använder halvöppna utskrifter 1 och 2, och det exkluderar det övre gränsvärdet (dvs. 3).

3. Ensidig räckvidd

Ensidig räckvidd är de typer av räckvidd som fortsätter så långt som möjligt i en riktning. Den kan skapas med både operatör med halvöppen räckvidd och operatör med sluten räckvidd men operatören kan bara ha ett värde på en sida.

Exempel 3: Ensidig räckvidd mindre än 2

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

När du kör programmet blir resultatet:

 sant falskt 

Ovanstående exempel skapar ett ensidigt intervall med en halvöppen områdesoperator som innehåller siffror mindre än två.

För att validera vårt resultat har vi använt contains metoden. Den containsmetod returnerar helt enkelt trueom elementet ligger inuti området annars returneras false.

range.contains(-1)kontrollerar om -1 ligger inom intervallet eller inte. Eftersom det är ensidigt område med övre gräns 2 och -1 <2 ligger det inom området och print(range.contains(-1))utsignaler truepå skärmen.

Men på grund av halvöppna områdesoperatörer innehåller det övre gränsvärdet (2) inte inom området. Så, range.contains(2)återvänder false.

Exempel 4: Ensidigt intervall från 2

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

När du kör programmet blir resultatet:

 sant falskt 

Ovanstående exempel skapar ett ensidigt intervall med stängd operator som innehåller siffror från 2 till alla värden större än 2.

range.contains(100)kontrollerar om 100 ligger inom intervallet eller inte. Eftersom dess ensidiga intervall och 100 är större än 2, ligger det inom intervallet och skrivs ut truepå skärmen.

Det har dock ett lägre gränsvärde (2), så range.contains(1)returnerar false.

Saker att komma ihåg

  • Starten för ett intervall måste vara mindre än eller lika med slutet. I vårt exempel (lowerBound… upperBound)måste det nedre gränsvärdet vara mindre än det övre gränsvärdet. Det kan dock vara ett negativt värde.
    Exempel:
    3… 1 // dödligt fel: Kan inte bilda Range med upperBound <lowerBound -3… 1 // Detta är ett giltigt intervall. Lowerbound / Upperbound kan innehålla ett negativt värde men bör gälla ovanstående uttalande.
  • Vi kan iterera över räckvidd (exklusive ensidig räckvidd) med hjälp av in-loopar.
  • Vi kan också använda områdesoperatören för att komma åt element i en matris.

Intressanta artiklar...