Les Ranges en Swift
Introduction aux Ranges
Les ranges permettent de définir des intervalles de valeurs en Swift. On trouve deux types principaux de structures de ranges : \n1. Range pour créer des ranges semi-ouverts. \n2. ClosedRange pour établir des ranges fermés.
Création de Ranges
\n### Ranges Semi-Ouverts\nLes instances de Range sont définies à l'aide de l'opérateur de range semi-ouvert ..<
. Cela inclut toutes les valeurs d'un certain point de départ jusqu'à un point d'arrivée, sans inclure ce dernier. Voici comment déclarer un range semi-ouvert :\nswift\nlet newRange = lower..<upper\n
\n\n### Ranges Fermés\nDe manière similaire, les instances de ClosedRange sont définies avec l'opérateur ...
. Ces ranges incluent toutes les valeurs jusqu'au bord supérieur, qui est compris. La syntaxe suivante montre comment créer un range fermé :\nswift\nlet newClosedRange = lower...upper\n
Utiliser les Ranges
Les ranges ont plusieurs applications courantes, notamment :\n- Pour itérer avec des boucles for-in
.\n- Dans des instructions switch
pour vérifier si une valeur est comprise dans un intervalle.\n- Pour sélectionner une portion d'un tableau.
Exemple de Boucle For-in
L'exemple suivant utilise une boucle for-in
avec un range semi-ouvert puis un range fermé pour afficher des arbres emoji :\nswift\nfor n in 1..<4 {\n print(String(repeating: "🌲", count: n))\n}\nfor n in 1...4 {\n print(String(repeating: "🌳", count: n))\n} \n
\nCe code produit la sortie suivante :\n🌲🌲🌲🌲🌲🌲🌳🌳🌳🌳🌳🌳🌳🌳🌳🌳
Exemple de Switch
Dans cet exemple, on utilise une instruction switch
et un range fermé pour décider quel emoji afficher en fonction de la hauteur de l'arbre :\nswift\nlet treeHeight = 2\nswitch treeHeight {\ncase 0...30: \n print("🌱")\ndefault: \n print("🌳")\n} \n
\nCela produira :\n🌱
Exemple de Tableau
Dans l'exemple suivant, on imprime une section d'un tableau d'arbres, en utilisant un range fermé pour sélectionner des indices d'éléments :\nswift\nlet trees = ["Pine", "Oak", "Ash", "Willow", "Olive"]\nprint(trees[2...4])\n
\nLa sortie sera :\n["Ash", "Willow", "Olive"]