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 (
i32in questo caso) deve corrispondere al tipo di dato della variabile in cui stai memorizzando il valore restituito.
Sfida
FacileOgni 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,num2e salva il risultato in una variabile. - Dividi per
2il 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
iterationsvolte 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
}
}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