Rückgabewerte
Teil des Abschnitts Fundamentals der Rust-Journey von Coddy — Lektion 51 von 75.
Die return-Anweisung in einer Methode wird verwendet, um den Wert oder die Werte anzugeben, die die Methode als Ergebnis liefern soll. Zum Beispiel wird die folgende Methode 100 ausgeben:
fn function_name() -> i32 {
return 100;
}Beachten Sie, dass die Funktion aufgrund des Pfeil-Symbols -> Daten vom Typ i32 zurückgibt.
Um den Rückgabewert an eine Variable zu übergeben, schreiben Sie:
let number: i32 = function_name();Jetzt enthält die Variable number den Wert 100, da dies der Rückgabewert der Methode ist.
Beachten Sie, dass der Rückgabetyp der Methode (in diesem Fall
i32) mit dem Datentyp der Variablen übereinstimmen muss, in der Sie den zurückgegebenen Wert speichern.
Aufgabe
EinfachJeder Testfall hat drei Eingaben.
Die erste Eingabe gibt an, wie viele Iterationen durchgeführt werden sollen, und die letzten beiden Eingaben sind Zahlen, mit denen wir Operationen durchführen werden.
Erstellen Sie eine Methode, die zwei Argumente erhält und die größere der beiden Zahlen zurückgibt. Wenn beide gleich sind, geben Sie eine von ihnen zurück.
Iterieren Sie iterations Mal und führen Sie für jede Iteration Folgendes aus:
- Rufen Sie die Methode mit
num1,num2auf und speichern Sie das Ergebnis in einer Variablen. - Teilen Sie die größere Zahl der beiden durch
2und ersetzen Sie dann die ursprüngliche größere Variable durch den neuen Ergebniswert. - Geben Sie den neuen Wert aus.
- Fahren Sie damit fort, bis das Programm
iterationsMal iteriert hat oder eine der Zahlen kleiner als 2 ist.
Hinweis: Sie haben bereits das Grundgerüst des Codes!
Spickzettel
Die return-Anweisung gibt den Wert an, den eine Funktion als Ergebnis liefert:
fn function_name() -> i32 {
return 100;
}Verwenden Sie den Pfeil ->, um den Rückgabetyp anzugeben. Speichern Sie den zurückgegebenen Wert in einer Variablen:
let number: i32 = function_name();Der Rückgabetyp muss mit dem Datentyp der Variablen übereinstimmen, in der Sie den zurückgegebenen Wert speichern.
Probier es selbst
use std::io;
fn bigger(arg1: f64, arg2: f64) -> f64 {
// Vervollständige die Funktion
}
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 {
// Schreibe deinen Code unten
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Fundamentals
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische AbkürzungenVergleichsoperatorenString-Vergleich7Grundlagen IO
Ausgabe in die KonsoleBenutzereingaben lesenWiederholung - Bis 120Wiederholung - Wahr oder Falsch5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung - Einfache LogikLogische Operatoren Teil 311Funktionen
Funktionen deklarierenParameter und ArgumenteRückgabewerteMehrere RückgabewerteWiederholung - Sigma-FunktionWiederholung - Validierungsfunktion14Iterieren über Arrays
Range-LeitfadenErweiterte For-SchleifeBorrowing in SchleifenGängige Array-Operationen3Variablen Teil 2
TypdeklarationNamenskonventionenTypinferenzRückblick - Variablen initialisierenTypumwandlung6Entscheidungsfindung
If-AusdrückeIf-ElseMatch-AnweisungZusammenfassung - If-ElseVerschachteltes If-Else9Schleifen
For-Schleife über SerienWhile-SchleifeBreakContinueVerschachtelte SchleifenSchleifen-LabelsEndlosschleifeRückblick – Dynamische Eingabe