Avatar ·

Wie speichert man ein Closure in einer Struktur in Rust?

Hallo! Ich habe angefangen, Rust zu lernen, und bin auf ein Problem gestoßen, als ich versuchte, ein Closure in einer Struktur zu speichern. Ich habe einen einfachen Taschenrechner, der verschiedene Operationen ausführen soll, abhängig vom übergebenen Closure. Hier ist, was ich versuche: ```rust struct Calculator { operation: fn(i32, i32) -> i32, } fn main() { let add = |a, b| a + b; let calc = Calculator { operation: add }; println!("Result: {}", (calc.operation)(5, 3)); } ``` Dieser Code funktioniert, aber nur, wenn ich eine normale Funktion oder ein Closure übergebe, das keine Variablen aus der äußeren Umgebung erfasst. Sobald ich versuche, ein Closure zu verwenden, das Variablen erfasst, gibt der Compiler einen Fehler aus. Zum Beispiel: ```rust let multiplier = 2; let multiply = |a, b| a * b * multiplier; let calc = Cal