Comment créer une fonction avec un nombre variable d'arguments en Rust ?
Bonjour à tous ! Je viens de commencer à apprendre Rust après C++ et Python, et j'ai rencontré un problème. En C++, je peux écrire une fonction avec un nombre variable d'arguments via `...` (variadic templates), et en Python via `*args`. Par exemple, je veux créer une fonction `sum_all` qui additionne un nombre quelconque d'entiers :
```rust
// Comment puis-je faire cela en Rust ?
fn sum_all(...) -> i32 {
// quelque chose ici
}
fn main() {
println!("{}", sum_all(1, 2, 3)); // 6
println!("{}", sum_all(10, 20, 30, 40)); // 100
}
```
J'ai lu que Rust ne supporte pas les variadic functions classiques comme en C. Mais y a-t-il des macros ? Ou puis-je utiliser des slices ? J'ai essayé de passer un vecteur, mais ce n'est pas pratique — il faut créer `vec!` à chaque fois. Existe-t-il une manière idiomatique de faire cela en Rust ? J'ai besoin d'une solution pour un nombre arbitraire d'arguments du même type (entiers). Je serais reconnaissant pour un exemple détaillé !
P.S. Je sais que pour la somme il y a `.sum()`, mais ce n'est qu'un exemple — j'ai besoin de comprendre.