Parametri e argomenti
Fa parte della sezione Fondamenti del percorso Rust di Coddy. Lezione 50 di 75.
Un argomento in una funzione è un valore che passi alla funzione quando la chiami. Per aggiungere argomenti a una funzione, li scriviamo all'interno delle parentesi ():
fn function_name(arg1: data_type, arg2: data_type, ...) {
// codice
}Possiamo dare agli argomenti il nome che vogliamo e scrivere tutti gli argomenti di cui abbiamo bisogno.
Per chiamare una funzione e passarle degli argomenti, scriviamo:
function_name(value1, value2, value3, ...);Passare troppi argomenti a una funzione che ne prevede meno causerà il fallimento del programma
Esempio di utilizzo:
fn is_even(number: i32) {
if number % 2 == 0 {
println!("{} is even", number);
} else {
println!("{} is odd", number);
}
}
for i in 15..34 {
is_even(i);
}
for i in 153..219 {
is_even(i);
}Qui abbiamo una funzione chiamata is_even che accetta un argomento chiamato number e stampa se il numero è pari o dispari. Poi chiamiamo la funzione due volte: una volta per tutti i numeri tra 15 e 34, la seconda volta per tutti i numeri tra 153 e 219.
Sfida
FacileScrivi un programma che acquisisca due numeri in input. I numeri in input sono gli argomenti della funzione.
Crea una funzione che accetti due argomenti, ne calcoli il prodotto e lo stampi; dai alla funzione il nome che preferisci.
Chiama la funzione con i numeri in input.
Nota! Nel tuo codice, scrivi la funzione prima delle istruzioni che la chiamano/eseguono.
Provalo tu
use std::io;
// Function declaration
fn main() {
let mut input_a = String::new();
let mut input_b = String::new();
io::stdin().read_line(&mut input_a).unwrap();
io::stdin().read_line(&mut input_b).unwrap();
let a: i32 = input_a.trim().parse().unwrap();
let b: i32 = input_b.trim().parse().unwrap();
// Call the function with a and b as arguments
}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 falso5Operatori 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