Gyors tartományok (példákkal)

Ebben a cikkben megismerheti a Swift tartományát, típusát és használati eseteit.

A tartomány az értékek intervalluma. A tartomány egyszerű példája a 0,1,2,3,4,5,6,7,8,9, mert a számok egymástól 0 és 9 között vannak.

Gyorsan létrehozhatunk hatótávolságot az alábbiakban ismertetett két hatótávolsági operátor segítségével:

1. Zárt tartományú kezelő (alsó-felső… felső-korlátozott)

Ez magában foglalja az intervallum összes értékét (alsó és felső között). (3 pont) operátorral van deklarálva .

Pl .: 1… 3 Meghatározza az 1,2,3 értéket tartalmazó tartományt

2. Félig nyitott hatótávolságú kezelő (alsó

Ez magában foglalja az intervallum összes értékét (alsó és felső között), de kizárja az utolsó (felső) számot. … <Operátor használatával van deklarálva .

Pl .: 1… <3 Meghatározza az 1. és 2. értéket tartalmazó tartományt

Tartománytípusok

1. Zárt tartomány (alsóBound… felsőBound)

A zárt tartományú operátorral létrehozott tartományokat zárt tartománynak nevezzük. Ez magában foglalja az összes értéket az alsó és a felső között.

1. példa: Zárt tartomány értékeinek nyomtatása for-in hurok segítségével

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

A program futtatásakor a kimenet a következő lesz:

 1 2 3 

A fenti példa létrehoz egy tartományt, amely 1 és 3 közötti számokat tartalmaz ( 1… 3). Egy for-in ciklust használtunk annak megnézésére, hogy a tartomány milyen értékeket tartalmaz. Ha többet szeretne megtudni a bejövő hurkokról, látogasson el a Swift bejövő hurkokra.

A bejövő hurok segítségével láthatjuk, hogy a zárt tartomány tartalmazza az adott tartomány összes értékét, beleértve az alsó (1) és a felső (3) határértékeket is.

2. Félig nyitott tartomány (alsóBound…

A félig nyitott tartományú operátorral létrehozott tartományokat félig nyitott tartományoknak nevezzük. Ez magában foglalja az összes értéket az alsó és a felső határ között, de kizárja a felső határértéket.

2. példa: Fél nyitott tartomány értékeinek kinyomtatása for-in hurok segítségével

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

A program futtatásakor a kimenet a következő lesz:

 1 2 

A fenti példában a for-in ciklust használtuk, hogy lássuk, hogyan működik a félig nyitott tartomány.

Az összes érték kinyomtatása helyett egyértelműen láthatjuk, hogy a félig nyitott operátor csak az 1-et és a 2-et nyomtatja, és kizárja a felső határértéket (azaz a 3-at).

3. Egyoldalas tartomány

Egyoldalas tartomány azok a tartománytípusok, amelyek a lehető legnagyobb mértékben egy irányban haladnak. Létrehozható félig nyitott és zárt tartományú operátorral is, de az operátornak csak az egyik oldalán lehet értéke.

3. példa: Egyoldalas tartomány kevesebb, mint 2

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

A program futtatásakor a kimenet a következő lesz:

 igaz hamis 

A fenti példa egyoldalas tartományt hoz létre félig nyitott tartomány operátorral, amely kettőnél kevesebb számot tartalmaz.

Eredményünk érvényesítéséhez contains módszert használtunk . A containsmódszer egyszerűen visszatér, trueha az elem a tartományon belül helyezkedik el, különben visszatér false.

range.contains(-1)ellenőrzi, hogy -1 a tartományon belül van-e vagy sem. Mivel, annak egyoldalú tartományban a felső korlát 2, és -1 <2 fekszik tartományon belül, és print(range.contains(-1))kimenetek truea képernyőn.

A félig nyitott tartomány operátor miatt azonban a felső határérték (2) nem tartalmaz a tartományon belül. Szóval, range.contains(2)visszatér false.

4. példa: Egyoldalas tartomány 2-től kezdődően

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

A program futtatásakor a kimenet a következő lesz:

 igaz hamis 

A fenti példa egyoldalas tartományt hoz létre a zárt operátor használatával, amely 2-től számig 2-nél nagyobb értéket tartalmaz.

range.contains(100)ellenőrzi, hogy 100 a tartományon belül van-e vagy sem. Mivel egyoldalas tartománya és 100 nagyobb, mint 2, a tartományon belül fekszik, és kinyomtatja truea képernyőn.

Ennek azonban van egy alacsonyabb határértéke (2), így range.contains(1)visszatér false.

Dolgok, amikre emlékezni kell

  • Egy tartomány kezdetének kisebbnek vagy egyenlőnek kell lennie a végével. Példánkban (lowerBound… upperBound)az alsó határértéknek kisebbnek kell lennie, mint a felső határérték. Ez azonban negatív érték lehet.
    Példa:
    3… 1 // végzetes hiba: Nem lehet tartományt formálni a felsőBound <alsóBound -3… 1 // értékkel. Ez egy érvényes tartomány. Az alsó vagy felső korlát tartalmazhat negatív értéket, de érvényesnek kell lennie a fenti állításra.
  • Be-hurkok segítségével iterálhatunk tartományon kívül (egyoldalas tartomány kivételével).
  • A tömb elemeihez hozzáférhetünk a tartomány operátorához is.

érdekes cikkek...