Menu
Coddy logo textTech

Métodos de Array

Parte da seção Fundamentals do Journey de Rust da Coddy. Lição 61 de 75.

Arrays vêm com 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 array
  • contains(value) - verifica se o array contém um valor específico
  • is_empty() - verifica se o array está vazio
  • reverse() - 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: true

Ao 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: true
challenge icon

Desafio

Fácil

Crie 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:

  1. Verifique se o array está vazio usando o método is_empty() e imprima o resultado.
  2. Verifique se o array contém a string "5" usando o método contains() e imprima o resultado. Lembre-se de usar String e não str: "5".to_string()
  3. Inverta o array e imprima-o

A saída deve seguir este formato exato:

Is empty: [true or false]
Contains 5: [true or false]
Reversed Elements:
[element1]
[element2]
...

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);
}
quiz iconTeste seus conhecimentos

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

Pratique por conta própria: Compilador de Rust online