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’arraycontains(value)- verifica se l’array contiene un valore specifico
is_empty()- verifica se l'array è vuotoreverse()- 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: trueQuando 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: trueSfida
FacileCrea una funzione chiamata analyze_array che riceva come argomento un array di stringhe di dimensione 5. Il metodo deve eseguire le seguenti operazioni:
- Verifica se l'array è vuoto usando il metodo
is_empty()e stampa il risultato. - Verifica se l'array contiene la stringa
“5”usando il metodocontains()e stampa il risultato. Ricorda di usare String e non str:“5”.to_string() - 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);
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiOperatore moduloAbbreviazioni aritmeticheOperatori di confrontoConfronto tra stringhe7Input/output di base
Stampare sulla consoleLeggere l'input dell'utenteRiepilogo - Fino a 120Riepilogo - Vero o falso13Array, parte seconda
Array di riferimenti mutabiliMetodi degli arrayRipasso - Array dei prodottiRipasso - Array invertitoStampare meglio5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Ripasso - Logica sempliceOperatori logici Parte 311Funzioni
Dichiarare le funzioniParametri e argomentiValori restituitiValori restituiti multipliRiepilogo - funzione SigmaRiepilogo - funzione di validazione14Iterare sugli array
Guida ai rangeCiclo for avanzatoPrestito nel cicloOperazioni comuni sugli array3Variabili Parte 2
Dichiarazione del tipoConvenzioni di denominazioneInferenza del tipoRipasso - Inizializzare le variabiliConversione di tipo9Cicli
Ciclo for su sequenzeCiclo whileBreakContinueCiclo annidatoEtichette dei cicliCiclo infinitoRiepilogo - Input dinamico12Fondamenti degli array
Dichiarare gli arrayArray come parametroAccedere agli elementiModificare gli arrayRiepilogo - Stampare un array in modo leggibile15Operazioni sulle stringhe
Metodi delle stringheMacro format!Conversione delle stringheRipasso - FormattazioneEsercitati da solo: Compilatore Rust online