Métodos de Array
Parte da seção Fundamentals do Journey de Rust da Coddy — lição 61 de 75.
Arrays são repletos de muitos métodos (funcionalidades). Para acessar um método, escreva:
array.methodName(otherParameters)Aqui está uma lista dos métodos básicos:
len()- retorna o número de elementos no arraycontains(value)- verifica se o array contém um valor específico
is_empty()- verifica se o array está vazioreverse()- Inverte o array
Por exemplo:
let numbers = [10, 20, 30, 40, 50];
let length = numbers.len();
println!("Length: {}", length);
numbers.reverse()
// [50, 40, 30, 20, 10]Exemplo do método is_empty():
let numbers: [i32; 0] = [];
let empty = numbers.is_empty();
println!("Is empty: {}", empty);Isso resultará em:
Is empty: trueAo usar contains, você precisa passar uma referência para o valor que está procurando usando &. Por exemplo:
let numbers = [10, 20, 30, 40, 50];
let has_thirty = numbers.contains(&30);
println!("Contains 30: {}", has_thirty);
// Saída: Contains 30: trueDesafio
FácilCrie uma função chamada analyze_array que recebe um array de strings de tamanho 5 como argumento. O método deve realizar as seguintes operações:
- Verifique se o array está vazio usando o método
is_empty()e imprima o resultado. - Verifique se o array contém a string
“5”usando o métodocontains()e imprima o resultado. Lembre-se de usar String e não str:“5”.to_string() - Inverta o array e imprima-o
A saída deve seguir exatamente este formato:
Is empty: [true or false]
Contains 5: [true or false]
Reversed Elements:
[element1]
[element2]
...Folha de consulta
Arrays possuem métodos integrados acessados com a notação de ponto:
array.methodName(otherParameters)Métodos básicos de array:
len()- retorna o número de elementoscontains(value)- verifica se o array contém um valor específicois_empty()- verifica se o array está vazioreverse()- inverte o array
Exemplos:
let numbers = [10, 20, 30, 40, 50];
let length = numbers.len();
let has_thirty = numbers.contains(&30);
let empty = numbers.is_empty();
numbers.reverse(); // [50, 40, 30, 20, 10]Nota: contains() requer uma referência ao valor usando &.
Experimente você mesmo
use std::io;
use std::convert::TryInto;
fn analyze_array(arr: &mut [String; 5]) {
// Escreva o código aqui
// Imprime os elementos linha por linha
for element in arr.iter() {
println!("{}", element);
}
}
fn main() {
let mut input_str_arr = String::new();
io::stdin().read_line(&mut input_str_arr).unwrap();
let mut arr: [String; 5] = input_str_arr.split(',').map(String::from).collect::<Vec<String>>().try_into().unwrap();
analyze_array(&mut arr);
}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 Falso13Arrays: Continuação
Arrays de Referência MutáveisMétodos de ArrayRecapitulação - Array de ProdutoRecapitulação - Array InvertidoPrint Melhorado5Operadores 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