Kommentare

Nun, da wir Funktionen kennen, ist es ein guter Zeitpunkt über Kommentare zu lernen. Kommentare sind Notizen, die man anderen Programmierern hinterlässt um Dinge über deinen Code zu erklären. Der Compiler ignoriert sie größtenteils.

Rust hat zwei wesentliche Arten von Kommentaren: Zeilenkommentare [line comments] und Doku-Kommentare [doc comments].

Hier ein Beispiel mit 4 Zeilenkommentaren:

# #![allow(unused_variables)]
#fn main() {
// Line comments are anything after ‘//’ and extend to the end of the line.

let x = 5; // this is also a line comment.

// If you have a long explanation for something, you can put line comments next
// to each other. Put a space between the // and your comment so that it’s
// more readable.

#}

Die andere Art von Kommentar ist ein Doku-Kommentar. Doku-Kommentare werden mit /// anstatt // eingeleitet und unterstützen darin das Markdown Format:


/// Adds one to the number given.
///
/// # Examples
///
/// ```
/// let five = 5;
///
/// assert_eq!(6, add_one(5));
/// # fn add_one(x: i32) -> i32 {
/// #     x + 1
/// # }
/// ```
fn add_one(x: i32) -> i32 {
    x + 1
}

Es gibt noch eine weitere Kommentarform, nämlich //!, um Dinge zu dokumentieren in denen diese Kommentare enthalten sind (z.B. in Crates, Modulen oder Funktionen) anstatt das zu kommentieren, was nach ihnen folgt. Üblicherweise wird diese Form von Kommentar am Anfang einer Crate (lib.rs) oder eines Moduls (mod.rs) verwendet:

# #![allow(unused_variables)]
#fn main() {
//! # The Rust Standard Library
//!
//! The Rust Standard Library provides the essential runtime
//! functionality for building portable Rust software.

#}

Wenn du Doku-Kommentare schreibst, dann ist es sehr hilfreich, wenn du Beispiele angibst. Du wirst feststellen, dass wir hier ein neues Makro verwendet haben: assert_eq!. Dies vergleicht zwei Werte und panic!t wenn sie nicht gleich sind. Das ist sehr hilfreich in der Dokumentation. Es gibt ein weiteres Makro, nämlich assert!, welches panic!t, wenn der übergebene Wert false ist.

Du kannst das rustdoc Tool verwenden um eine HTML Dokumentation aus diesen Doku-Kommentaren zu erstellen und außerdem den Beispielcode als Tests laufen lassen!