Plages dans Swift (avec exemples)

Dans cet article, vous découvrirez la portée, son type et les cas d'utilisation dans Swift.

Une plage est un intervalle de valeurs. Un exemple simple de plage est 0,1,2,3,4,5,6,7,8,9 car les nombres sont séquentiels de 0 à 9.

Nous pouvons créer une plage en swift en utilisant deux opérateurs de plage décrits ci-dessous:

1. Opérateur de plage fermée (borne inférieure… borne supérieure)

Il inclut toutes les valeurs de l'intervalle (de la limite inférieure à la limite supérieure). Il est déclaré à l'aide de l' opérateur (3 points).

Par exemple: 1… 3 définit la plage contenant les valeurs 1,2,3

2. Opérateur Half Open Range (borne inférieure…

Il inclut toutes les valeurs de l'intervalle (de la limite inférieure à la limite supérieure) mais exclut le dernier nombre (limite supérieure). Il est déclaré à l'aide de l' … <opérateur.

Par exemple: 1… <3 définit la plage contenant les valeurs 1 et 2

Types de gamme

1. Plage fermée (limite inférieure… limite supérieure)

Les plages créées à l'aide de l'opérateur de plage fermée sont appelées plage fermée. Il inclut toutes les valeurs de la limite inférieure à la limite supérieure.

Exemple 1: impression de valeurs de plage fermée à l'aide d'une boucle for-in

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

Lorsque vous exécutez le programme, la sortie sera:

 1 2 3 

L'exemple ci-dessus crée une plage contenant des nombres de 1 à 3 ( 1… 3). Nous avons utilisé une boucle for-in pour voir quelles valeurs la plage contient. Pour en savoir plus sur les boucles for-in, visitez Swift for-in loop.

En utilisant la boucle for-in, nous pouvons voir que la plage fermée contient toutes les valeurs de la plage donnée, y compris les valeurs limites inférieure (1) et supérieure (3).

2. Half Open Range (limite inférieure…

Les plages créées à l'aide de l'opérateur de plage semi-ouverte sont appelées plages semi-ouvertes. Il inclut toutes les valeurs de la limite inférieure à la limite supérieure, mais exclut la valeur de la limite supérieure.

Exemple 2: impression des valeurs de plage semi-ouvertes à l'aide d'une boucle for-in

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

Lorsque vous exécutez le programme, la sortie sera:

 1 2 

Dans l'exemple ci-dessus, nous avons utilisé une boucle for-in pour voir comment fonctionne la plage semi-ouverte.

Au lieu d'imprimer toutes les valeurs, nous pouvons clairement voir que l'utilisation de l'opérateur semi-ouvert n'imprime que 1 et 2, et il exclut la valeur limite supérieure (c'est-à-dire 3).

3. Gamme unilatérale

La gamme unilatérale sont les types de gamme qui se poursuivent autant que possible dans une direction. Il peut être créé en utilisant à la fois l'opérateur de plage semi-ouverte et l'opérateur de plage fermée, mais l'opérateur peut avoir une valeur d'un seul côté.

Exemple 3: plage unilatérale inférieure à 2

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

Lorsque vous exécutez le programme, la sortie sera:

 vrai faux 

L'exemple ci-dessus crée une plage unilatérale à l'aide d'un opérateur de plage semi-ouverte contenant des nombres inférieurs à deux.

Pour valider notre résultat, nous avons utilisé la contains méthode. La containsméthode retourne simplement truesi l'élément se trouve à l'intérieur de la plage, sinon elle retourne false.

range.contains(-1)vérifie si -1 se situe dans la plage ou non. Depuis, sa plage unilatérale avec une limite supérieure 2, et -1 <2, elle se trouve à l'intérieur de la plage et print(range.contains(-1))sort trueà l'écran.

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

  • Le début d'une plage doit être inférieur ou égal à sa fin. Dans notre exemple (lowerBound… upperBound), la valeur limite inférieure doit être inférieure à la valeur limite supérieure. Cependant, cela peut être une valeur négative.
    Exemple:
    3… 1 // erreur fatale: impossible de former une plage avec UpperBound <lowerBound -3… 1 // Ceci est une plage valide. Lowerbound / Upperbound peut contenir une valeur négative mais doit valider l'instruction ci-dessus.
  • Nous pouvons itérer sur la plage (à l'exclusion de la plage unilatérale) en utilisant des boucles d'entrée.
  • Nous pouvons également utiliser l'opérateur range pour accéder aux éléments d'un tableau.

Articles intéressants...