Menu
Coddy logo textTech

Valori restituiti

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

L’istruzione return in un metodo viene usata per specificare il valore o i valori che il metodo dovrebbe produrre come output. Ad esempio, il seguente metodo restituirà 100:

fn function_name() -> i32 {
	return 100;
}

Nota che la funzione restituisce un dato di tipo i32 per via del simbolo freccia ->.

Per assegnare il valore restituito a una variabile, scrivi:

let number: i32 = function_name();

Ora la variabile number conterrà 100 perché è ciò che ha restituito il metodo.

Nota che il tipo restituito dal metodo (i32 in questo caso) deve corrispondere al tipo di dato della variabile in cui stai memorizzando il valore restituito.

challenge icon

Sfida

Facile

Ogni caso di test ha tre input.

Il primo input indica quante volte eseguire le iterazioni, mentre gli ultimi due input sono numeri su cui eseguiremo delle operazioni.

Crea un metodo che riceva due argomenti e restituisca il numero più grande dei due. Se sono entrambi uguali, restituiscine uno.

Ripeti iterations volte e, per ogni iterazione:

  • Chiama il metodo con num1, num2 e salva il risultato in una variabile.
  • Dividi per 2 il numero più grande dei due, quindi sostituisci la variabile originale più grande con il nuovo valore risultante.
  • stampa il nuovo valore.  
  • Continua fino a quando il programma ha iterato iterations volte oppure uno dei numeri è minore di 2.

Nota: hai già lo scheletro del codice!

Provalo tu

use std::io;

fn bigger(arg1: f64, arg2: f64) -> f64 {
    // Completa la funzione

}

fn main() {
    let mut input_iter = String::new();
    let mut input_num1 = String::new();
    let mut input_num2 = String::new();

    io::stdin().read_line(&mut input_iter).unwrap();
    io::stdin().read_line(&mut input_num1).unwrap();
    io::stdin().read_line(&mut input_num2).unwrap();

    let iter: i32 = input_iter.trim().parse().unwrap();
    let mut num1: f64 = input_num1.trim().parse().unwrap();
    let mut num2: f64 = input_num2.trim().parse().unwrap();

    for _ in 0..iter {
        // Scrivi il tuo codice qui sotto
    }
}
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