Ruby Rango (Range)
Los rangos (Range) están en todas partes: desde a hasta z, desde 0 hasta 9, etc. Ruby admite rangos y nos permite usarlos de diferentes maneras:
- Rangos como secuencias
- Rangos como condiciones
- Rangos como intervalos
Rangos como secuencias
El primer y más común uso de los rangos es expresar secuencias. Una secuencia tiene un punto de inicio, un punto final y una manera de producir valores consecutivos en la secuencia.
Ruby usa''..''y''...''operadores de rango para crear estas secuencias. La forma de dos puntos crea un rango que incluye el valor más alto especificado, la forma de tres puntos crea un rango que no incluye el valor más alto especificado.
La secuencia 1..100 es unRangeobjeto, que contiene dosFixnumreferencias a objetos. Si es necesario, puede usar elto_amétodo para convertir el rango en una lista. Pruebe el siguiente ejemplo:
Ejemplo
Pruébalo »
El resultado de ejecutar el ejemplo anterior es:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ["bar", "bas", "bat"]
Los rangos implementan métodos que le permiten iterar sobre ellos, y puede verificar su contenido de varias maneras:
Ejemplo
Pruébalo »
El resultado de ejecutar el ejemplo anterior es:
true 最小值为 0 最大值为 9 不符合条件的有 [5, 6, 7, 8, 9] 在循环中 0 在循环中 1 在循环中 2 在循环中 3 在循环中 4 在循环中 5 在循环中 6 在循环中 7 在循环中 8 在循环中 9
Rangos como condiciones
Los rangos también se pueden usar como expresiones condicionales. Por ejemplo, el siguiente fragmento de código imprime líneas desde la entrada estándar, donde la primera línea de cada conjunto contiene la palabrastart, y la última línea contiene la palabraend.:
Los rangos se pueden usar en una instrucción case:
Ejemplo
Pruébalo »
El resultado de ejecutar el ejemplo anterior es:
Puntuación de aprobado
Rangos como intervalos
El último uso de los rangos es la detección de intervalos: comprobar si un valor especificado está dentro del rango especificado. Se necesita usar el operador de igualdad === para realizar el cálculo.
Ejemplo
Pruébalo »
El resultado de ejecutar el ejemplo anterior es:
5 在 (1..10)
c 在 ('a'..'j')
Otras extensiones