Menu
Coddy logo textTech

Metodi degli array

Fa parte della sezione Fondamenti del percorso Rust di Coddy. Lezione 61 di 75.

Gli array sono ricchi di metodi (funzionalità). Per accedere a un metodo, scrivi:

array.methodName(otherParameters)

Ecco un elenco dei metodi di base:

  • len() - restituisce il numero di elementi nell’array
  • contains(value) - verifica se l’array contiene un valore specifico
  • is_empty() - verifica se l'array è vuoto
  • reverse() - Inverte l'array

Per esempio:

let numbers = [10, 20, 30, 40, 50];
let length = numbers.len();
println!("Length: {}", length);

numbers.reverse();
// [50, 40, 30, 20, 10]

Esempio del metodo is_empty():

let numbers: [i32; 0] = [];
let empty = numbers.is_empty();
println!("Is empty: {}", empty);

Questo produrrà:

Is empty: true

Quando usi contains, devi passare un riferimento al valore che stai cercando usando &. Per esempio:

let numbers = [10, 20, 30, 40, 50];
let has_thirty = numbers.contains(&30);
println!("Contains 30: {}", has_thirty);
// Output: Contains 30: true
challenge icon

Sfida

Facile

Crea una funzione chiamata analyze_array che riceva come argomento un array di stringhe di dimensione 5. Il metodo deve eseguire le seguenti operazioni:

  1. Verifica se l'array è vuoto usando il metodo is_empty() e stampa il risultato.
  2. Verifica se l'array contiene la stringa “5” usando il metodo contains() e stampa il risultato. Ricorda di usare String e non str: “5”.to_string()
  3. Inverti l'array e stampalo

L'output deve seguire questo formato esatto:

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

Provalo tu

use std::io;
use std::convert::TryInto;

fn analyze_array(arr: &mut [String; 5]) {
    // Scrivi il codice qui




    // Stampa gli elementi uno per riga
    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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Rust online