Guía de Range
Parte de la sección Fundamentals 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 el inicio hasta el final (exclusivo)start..=end- Crea un rango desde el inicio hasta el final (inclusivo)
..end- Crea un rango desde 0 hasta end (excluyente)..=end- Crea un rango desde 0 hasta end (incluyente)
start..- Crea un rango desde start hasta el infinito..- Crea un rango desde el infinito negativo hasta el infinito positivo
Invertir 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 directo 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 inverso
for i in (0..5).rev() { }
// Valores: 4, 3, 2, 1, 0// Incrementar de 2 en 2
for i in (0..10).step_by(2) { }
// Valores: 0, 2, 4, 6, 8// Combinar inversión y paso
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 y para el primero imprima todos los números del primer arreglo en reversa en 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 en 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 Fundamentals
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