Ruby Range
Les plages sont partout : de a à z, de 0 à 9, etc. Ruby prend en charge les plages et nous permet de les utiliser de différentes manières :
- Plages en tant que séquences
- Plages en tant que conditions
- Plages en tant qu'intervalles
Plages en tant que séquences
Le premier usage des plages, et le plus courant, est d'exprimer des séquences. Les séquences ont un point de départ, un point de fin et un moyen de produire les valeurs successives de la séquence.
Ruby utilise''..''et''...''les opérateurs de plage pour créer ces séquences. La forme à deux points crée une plage qui inclut la valeur maximale spécifiée, et la forme à trois points crée une plage qui n'inclut pas la valeur maximale spécifiée.
La séquence 1..100 est un objetRangequi contient deux référencesFixnumà des objets. Si nécessaire, vous pouvez utiliserto_améthode pour convertir la plage en liste. Essayez l'exemple suivant :
Exemple
Essayez-le »
La sortie de l'exemple ci-dessus est :
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ["bar", "bas", "bat"]
Les intervalles implémentent des méthodes qui vous permettent de les parcourir et de vérifier leur contenu de différentes manières :
Exemple
Essayez-le »
L'exécution de l'exemple ci-dessus produit :
true 最小值为 0 最大值为 9 不符合条件的有 [5, 6, 7, 8, 9] 在循环中 0 在循环中 1 在循环中 2 在循环中 3 在循环中 4 在循环中 5 在循环中 6 在循环中 7 在循环中 8 在循环中 9
Plages en tant que conditions
Les intervalles peuvent également être utilisés comme expressions conditionnelles. Par exemple, l'extrait de code suivant affiche les lignes de l'entrée standard, où la première ligne de chaque ensemble contient le motstart, et la dernière ligne contient le motend.:
Les intervalles peuvent être utilisés dans les instructions case :
Exemple
Essayez-le »
L'exemple ci-dessus produit :
Passing score
Plages en tant qu'intervalles
La dernière utilisation des intervalles est la détection d'intervalle : vérifier si une valeur spécifiée se trouve dans un intervalle spécifié. Cela nécessite l'opérateur d'égalité === pour effectuer le calcul.
Exemple
Essayez-le »
L'exemple ci-dessus produit :
5 在 (1..10)
c 在 ('a'..'j')
Autres extensions