Guia de Range
Parte da seção Fundamentals do Journey de Rust da Coddy — lição 65 de 75.
Nesta lição, exploraremos mais sobre como o range funciona.
Sintaxe Básica de Range:
start..end- Cria um intervalo de start até end (exclusivo)start..=end- Cria um intervalo de start até end (inclusivo)
..end- Cria um intervalo de 0 até end (exclusivo)..=end- Cria um intervalo de 0 até end (inclusivo)
start..- Cria um intervalo de start até o infinito..- Cria um intervalo do infinito negativo ao infinito positivo
Intervalo reverso usando .rev():
(0..5).rev()- 4, 3, 2, 1, 0(0..=5).rev()- 5, 4, 3, 2, 1, 0
Saltos 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 exemplo:
// Intervalo progressivo básico
for i in 0..5 { }
// Valores: 0, 1, 2, 3, 4// Intervalo inclusivo
for i in 0..=5 { }
// Valores: 0, 1, 2, 3, 4, 5// Intervalo reverso
for i in (0..5).rev() { }
// Valores: 4, 3, 2, 1, 0// Incrementar de 2 em 2
for i in (0..10).step_by(2) { }
// Valores: 0, 2, 4, 6, 8// Combina inversão e passo
for i in (0..10).rev().step_by(3) { }
// Valores: 9, 6, 3, 0Desafio
FácilCrie um programa que comece com dois arrays de números e imprima, para o primeiro array, todos os números em ordem reversa saltando de 3 em 3 posições do array, e para o segundo, imprima todos os números que são divisíveis por 4 em ordem reversa. Imprima no seguinte formato:
Array 1: [1], [2], [3], ...
Array 2: [1], [2], [3], ...Folha de consulta
Sintaxe de intervalo (range) em Rust:
start..end- Cria um intervalo de start até end (exclusivo)start..=end- Cria um intervalo de start até end (inclusivo)..end- Cria um intervalo de 0 até end (exclusivo)..=end- Cria um intervalo de 0 até end (inclusivo)start..- Cria um intervalo de start até o infinito..- Cria um intervalo do infinito negativo ao infinito positivo
Intervalos reversos usando .rev():
(0..5).rev()- 4, 3, 2, 1, 0(0..=5).rev()- 5, 4, 3, 2, 1, 0
Saltos de etapa 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
// Intervalo progressivo básico
for i in 0..5 { }
// Valores: 0, 1, 2, 3, 4
// Intervalo inclusivo
for i in 0..=5 { }
// Valores: 0, 1, 2, 3, 4, 5
// Intervalo reverso
for i in (0..5).rev() { }
// Valores: 4, 3, 2, 1, 0
// Passo de 2
for i in (0..10).step_by(2) { }
// Valores: 0, 2, 4, 6, 8
// Combinação de reverso e passo
for i in (0..10).rev().step_by(3) { }
// Valores: 9, 6, 3, 0Experimente você mesmo
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: ");
// Escreva seu código aqui
println!();
print!("Array 2: ");
// Escreva seu código aqui
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentals
4Operadores Parte 1
Operadores AritméticosOperador de MóduloAtalhos AritméticosOperadores de ComparaçãoComparação de Strings7Entrada e Saída Básica
Exibindo no ConsoleLendo a Entrada do UsuárioRevisão - Até 120Revisão - Verdadeiro ou Falso5Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 33Variáveis Parte 2
Declaração de TipoConvenções de NomenclaturaInferência de TipoRecapitulação - Inicializar VariáveisConversão de Tipo9Laços
For sobre SériesLaço WhileBreakContinueLaços AninhadosRótulos de LoopLoop InfinitoRecapitulação - Entrada Dinâmica