Wie erstelle ich eine Funktion mit variabler Anzahl von Argumenten in Rust?
Hallo zusammen! Ich habe gerade angefangen, Rust nach C++ und Python zu lernen, und bin auf ein Problem gestoßen. In C++ kann ich eine Funktion mit variabler Anzahl von Argumenten über `...` (variadic templates) schreiben, und in Python über `*args`. Zum Beispiel möchte ich eine Funktion `sum_all` erstellen, die eine beliebige Anzahl von ganzen Zahlen addiert:
```rust
// Wie mache ich das in Rust?
fn sum_all(...) -> i32 {
// etwas hier
}
fn main() {
println!("{}", sum_all(1, 2, 3)); // 6
println!("{}", sum_all(10, 20, 30, 40)); // 100
}
```
Ich habe gelesen, dass Rust keine klassischen variadic functions wie in C unterstützt. Aber gibt es macros? Oder kann ich slices verwenden? Ich habe versucht, einen vector zu übergeben, aber das ist unpraktisch – jedes Mal muss ich `vec!` erstellen. Gibt es einen idiomatischen Weg, das in Rust zu machen? Ich brauche genau die Lösung.