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.
Sintaxis básica de rangos:
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 (inclusivo)
start..- Crea un rango desde start hasta el infinito..- Crea un rango desde el infinito negativo hasta el infinito positivo
Invierte el 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 ascendente básico
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 en orden inverso
for i in (0..5).rev() { }
// Valores: 4, 3, 2, 1, 0// Avanza de 2 en 2
for i in (0..10).step_by(2) { }
// Valores: 0, 2, 4, 6, 8// Combina la inversión del orden y el paso
for i in (0..10).rev().step_by(3) { }
// Valores: 9, 6, 3, 0Desafío
FácilSe te dan dos arrays, numbers1 y numbers2. Imprime una línea para cada uno:
- Array 1: empieza en la última posición de
numbers1y retrocede de 3 en 3 posiciones (índices 25, 22, 19, ...), imprimiendo el valor en cada posición. - Array 2: recorre
numbers2desde el último elemento hasta el primero e imprime solo los valores divisibles por 4.
Imprime cada valor entre corchetes, con , entre los valores y nada después del último:
Array 1: [26], [23], [20], ...
Array 2: [36], [36], ...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