Guía de Range
Parte de la sección Fundamentos del Journey de Rust de Coddy. Lección 65 de 75.
En esta lección exploraremos más sobre cómo funciona range.
Rango de sintaxis básica:
start..end- Crea un rango desde start hasta end (exclusivo)start..=end- Crea un rango desde start hasta end (inclusivo)
..end- Crea un rango de 0 a end (exclusivo)..=end- Crea un rango de 0 a end (inclusive)
start..- Crea un rango desde start hasta el infinito..- Crea un rango desde el infinito negativo hasta el infinito positivo
Invertir un rango usando .rev():
(0..5).rev()- 4, 3, 2, 1, 0(0..=5).rev()- 5, 4, 3, 2, 1, 0
Saltos de paso usando .step_by(n):
(0..10).step_by(2)- 0, 2, 4, 6, 8(0..10).rev().step_by(2)- 9, 7, 5, 3, 1
Por ejemplo:
// Rango básico hacia adelante
for i in 0..5 { }
// Valores: 0, 1, 2, 3, 4// Rango inclusivo
for i in 0..=5 { }
// Valores: 0, 1, 2, 3, 4, 5// Rango inverso
for i in (0..5).rev() { }
// Valores: 4, 3, 2, 1, 0// Paso de 2
for i in (0..10).step_by(2) { }
// Valores: 0, 2, 4, 6, 8// Combina reverse y step
for i in (0..10).rev().step_by(3) { }
// Valores: 9, 6, 3, 0Desafío
FácilCrea un programa que comience con dos arreglos de números e imprima, para el primer arreglo, todos los números en orden inverso dando saltos de 3 a través de las posiciones del arreglo, y para el segundo, imprima todos los números que sean divisibles por 4 en orden inverso. Imprime con el siguiente formato:
Array 1: [1], [2], [3], ...
Array 2: [1], [2], [3], ...Pruébalo tú mismo
fn main() {
let numbers1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26];
let numbers2 = [17, 53, 24, 77, 84, 98, 24, 36, 89, 31, 36];
print!("Array 1: ");
// Escribe tu código aquí
println!();
print!("Array 2: ");
// Escribe tu código aquí
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador de móduloAtajos aritméticosOperadores de comparaciónComparación de strings5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 33Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaInferencia de tiposResumen - Inicializar variablesConversión de tipos9Bucles
For sobre seriesBucle WhileBreakContinueBucle anidadoEtiquetas de bucleBucle infinitoResumen - Entrada dinámicaPractica por tu cuenta: Compilador de Rust online