Menu
CoddyTech

Dichiarare le funzioni

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

Una funzione è una sequenza di codice che ha un nome. Lo scopo di una funzione è riutilizzare una parte di codice più volte.

Per esempio, dai un'occhiata a questo codice:

println!("Welcome to Coddy");
println!("New session...");
println!("Welcome to Coddy");
println!("Another session...");
println!("Welcome to Coddy");

Usiamo continuamente lo stesso codice println!("Welcome to Coddy"). Un altro problema con questo codice è che, se volessimo cambiare il messaggio: Welcome to Coddy con qualcosa di diverso, come "Welcome aboard", dovremmo modificare 3 righe di codice diverse. Per risolvere questo problema, useremo le funzioni.

Per dichiarare una funzione, usiamo la seguente sintassi:

fn function_name(parameters) {
	// codice
}

Per il nostro esempio, creeremo una funzione chiamata greet e sarà così:

fn greet() {
    println!("Welcome to Coddy");
}

Per usare/chiamare/eseguire la funzione, scriviamo greet();:

greet();
println!("New session...");
greet();
println!("Another session...");
greet();

Questo produrrà lo stesso output di sopra.

Nota: In Rust, il compilatore ti consente di chiamare una funzione prima che venga dichiarata nel file. Tuttavia, la convenzione raccomandata è scrivere la definizione della funzione prima della sua chiamata/esecuzione.

challenge icon

Sfida

Facile

Scrivi un programma che riceva un input, un numero. Il numero di input indica quante volte eseguire la funzione qui sotto. 

Crea una funzione che calcoli la somma di tutti i numeri tra 1 e 1000 (inclusi) e la stampi; dai alla funzione il nome che preferisci.

Nota! Come convenzione consigliata, scrivi la funzione prima delle istruzioni che la chiamano/eseguono nel tuo codice.

Provalo tu

use std::io;

// Dichiarazione della funzione
fn sum_numbers() {
    // Completa la funzione
    
}


fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    let n: i32 = input.trim().parse().unwrap();
    for _ in 0..n {
        // Chiama la funzione n volte
    }
}
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