Mit dem Kontrollfluss in Cairo kannst du den Ausführungspfad deiner Programme anhand von Bedingungen und Wiederholungen steuern.
Mit if-Ausdrücken führst du Code abhängig von Bedingungen aus:
let number = 42;
if number > 0 {
println!("Positive number");
} else if number < 0 {
println!("Negative number");
} else {
println!("Zero");
}
if ist ein Ausdruck und kann daher Werte zurückgeben:
let result = if condition { 5 } else { 10 };
Mit loop wiederholst du Code.
Eine Schleife läuft endlos, bis du sie stoppst. Mit break brichst du die Schleife ab, sobald eine Bedingung erfüllt ist.
let mut counter = 0;
loop {
if counter == 5 {
break;
}
println!("Counter: {}", counter);
counter += 1;
}
Schleifen können mit break Werte zurückgeben:
let result = loop {
counter += 1;
if counter == 10 {
break counter * 2; // Returns 20
}
};
Mit continue springst du zur nächsten Iteration:
let mut i = 0;
loop {
i += 1;
if i % 2 == 0 {
continue; // Skip even numbers
}
if i > 10 {
break;
}
println!("{}", i); // Only prints odd numbers
}
In dieser Übung hilfst du bei der täglichen Arbeit einer kleinen Bäckerei und nutzt dabei die Kontrollflusskonstrukte von Cairo.
Implementiere calculate_total, die die Kosten einer Bestellung anhand von Gebäckart und Menge berechnet:
calculate_total(Pastry::Croissant, 4) // Returns: 12 (4 * 3)
calculate_total(Pastry::Cookie, 10) // Returns: 10 (10 * 1)
Implementiere apply_discount, die Rabatte auf Basis der Bestellsumme anwendet.
Wende den prozentualen Rabatt auf die Summe an und runde dann auf die nächste ganze Münze ab (Abrunden).
apply_discount(25) // Returns: 22
apply_discount(15) // Returns: 14
apply_discount(8) // Returns: 8
Implementiere baking_schedule, die einen täglichen Backplan erstellt.
Die Bäckerei backt in Chargen von 5 Bestellungen pro Stunde:
baking_schedule(18) // Returns: [5, 5, 5, 3] (3 full batches + 3 remaining)
baking_schedule(10) // Returns: [5, 5] (2 full batches)
baking_schedule(3) // Returns: [3] (1 partial batch)
Nutze passende Kontrollflusskonstrukte (if/else, loop), um jedes Problem effizient zu lösen.
Melde dich bei Exercism an, um Cairo mit 25 Konzepte68 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.