22 lines
631 B
Rust
22 lines
631 B
Rust
// Option<T> ersetzt null/nil. Der Compiler erzwingt, dass ihr den "nichts da"-Fall behandelt.
|
|
|
|
fn teile(a: f64, b: f64) -> Option<f64> {
|
|
if b == 0.0 {
|
|
None // Kein Ergebnis möglich
|
|
} else {
|
|
Some(a / b) // Ergebnis einpacken
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
let versuche = vec![(10.0, 3.0), (5.0, 0.0), (42.0, 7.0)];
|
|
|
|
for (a, b) in versuche {
|
|
// Ohne diesen match kompiliert der Code nicht ihr MÜSST den None-Fall behandeln.
|
|
match teile(a, b) {
|
|
Some(ergebnis) => println!("{a} / {b} = {ergebnis:.2}"),
|
|
None => println!("{a} / {b} = nicht möglich!"),
|
|
}
|
|
}
|
|
}
|