- Dynamic Sidebar mit window.COURSES_MANIFEST für 13 Kurse (216 Kapitel) - Kurswechsler Dropdown mit Direktnavigation - Fortschrittsanzeige mit Solved-Checkmarks (✓) aus localStorage - Responsive Off-Canvas Drawer mit Floating Action Button (☰ Kapitel) & Backdrop auf Mobile/Tablets - Web-IDE Topbar Drawer-Button (☰ Kapitel) für unterbrechungsfreien Vollbild-Editor - Saubere Bereinigung redundanter statischer Legacy-Sidebars |
||
|---|---|---|
| .. | ||
| aufgabe.rs | ||
| index.html | ||
| musterloesung.rs | ||
| README.md | ||
| test_aufgabe.rs | ||
Rust 11: Iteratoren & Closures
Tauche ein in die funktionale Welt von Rust: Closures, Environment Capturing und Zero-Cost Iterator-Pipelines.
🎯 Lernziele
- Closures: Syntax
|args| bodyund Environment-Capturing viaFn,FnMutundFnOnce. - Move-Semantik: Variablen-Besitz in Closures mit dem Schlüsselwort
moveübertragen. - Eigene Iteratoren: Den
Iterator-Trait mittype Itemundfn next(&mut self)implementieren. - Adapter-Chaining:
.map(),.filter(),.fold(),.filter_map(),.zip(),.take()effizient verketten. - Zero-Cost Abstraction: Verstehen, warum funktionale Pipelines in Rust genauso schnell wie handgeschriebene for-Loops kompilieren.
💡 Schlüsselkonzepte
1. Custom Iterator
pub struct Fibonacci {
curr: u64,
next: u64,
}
impl Iterator for Fibonacci {
type Item = u64;
fn next(&mut self) -> Option<Self::Item> {
let current = self.curr;
self.curr = self.next;
self.next = current + self.next;
Some(current)
}
}
🧪 Tests ausführen
rustc --test test_aufgabe.rs && ./test_aufgabe