Menu
Coddy logo textTech

Ein einfaches Closure definieren

Teil des Abschnitts Logic & Flow der Rust-Journey von Coddy — Lektion 60 von 66.

Nachdem Sie nun verstanden haben, was Closures sind, lernen wir nun, wie man sie in Ihrem Code definiert und verwendet. Der einfachste Weg, eine Closure zu erstellen, besteht darin, sie einer Variablen zuzuweisen, was es Ihnen ermöglicht, sie später aufzurufen.

So definieren Sie einen einfachen Closure, der keine Parameter entgegennimmt:

let my_closure = || {
    println!("Hello from the closure!");
};

Beachten Sie die leeren vertikalen Striche || – dies zeigt an, dass der Closure keine Argumente entgegennimmt. Die geschweiften Klammern enthalten den Code, der ausgeführt wird, wenn Sie den Closure aufrufen.

Um Ihre Closure aufzurufen, verwenden Sie sie genau wie eine Funktion, indem Sie Klammern hinter den Variablennamen setzen:

let my_closure = || {
    println!("Hello from the closure!");
};

my_closure(); // Dies ruft die Closure auf und gibt die Nachricht aus
challenge icon

Aufgabe

Einfach

Sie erhalten eine einzelne Eingabe, die eine Nachricht enthält. Erstellen Sie eine Closure, die keine Parameter entgegennimmt und diese Nachricht ausgibt. Speichern Sie die Closure in einer Variablen und rufen Sie sie anschließend auf, um die Nachricht anzuzeigen.

Anforderungen:

  • Lesen Sie die Eingabenachricht ein und entfernen Sie Leerzeichen am Anfang und Ende (trim)
  • Erstellen Sie eine Closure mit der ||-Syntax, die die Nachricht ausgibt
  • Speichern Sie die Closure in einer Variablen
  • Rufen Sie die Closure auf, um sie auszuführen

Eingabe:

  • Eine einzelne Zeile, die eine Nachricht enthält (z. B. Welcome to Rust!)

Ausgabe:

  • Die von der Closure ausgegebene Nachricht

Spickzettel

Ein Closure wird mit vertikalen Strichen || definiert und kann in einer Variablen gespeichert werden:

let my_closure = || {
    println!("Hello from the closure!");
};

Um ein Closure aufzurufen, verwenden Sie Klammern nach dem Variablennamen:

my_closure(); // Führt das Closure aus

Probier es selbst

use std::io;

fn main() {
    // Eingabe lesen
    let mut message = String::new();
    io::stdin().read_line(&mut message).expect("Failed to read line");
    let message = message.trim();
    
    // TODO: Erstelle einen Closure, der die Nachricht ausgibt, und speichere ihn in einer Variablen
    
    
    // TODO: Rufe den Closure auf, um die Nachricht auszugeben
    
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logic & Flow