Avatar ·

Création d'un vecteur de zéros de taille donnée en Rust

Bonjour à tous ! Je viens de commencer à apprendre Rust et j'ai rencontré un problème. Je dois créer un vecteur (Vec) d'une taille spécifique, rempli de zéros. Dans d'autres langages, par exemple en Python, j'écris simplement `[0] * n`, et en C++ — `std::vector v(n, 0)`. Mais en Rust, je ne trouve pas d'équivalent direct. J'ai essayé plusieurs options, mais elles ne fonctionnent pas ou génèrent des erreurs de compilation. Par exemple : ```rust let v = vec![0; 5]; // Cela fonctionne pour les types Copy, mais j'ai besoin pour f64 let v2: Vec = vec![0; 5]; // Erreur : attendu f64, trouvé entier ``` J'ai aussi essayé de créer un vecteur avec `Vec::with_capacity(5)` puis de le remplir dans une boucle, mais cela semble trop verbeux. Existe-t-il une manière plus élégante, comme dans d'autres langages ? J'ai besoin de créer un vecteur de 1000 éléments de type `f64`, tous égaux à zéro. Merci d'avance pour votre aide ! <<>>

Utilisation de la macro vec! avec indication explicite du type

Le problème principal de votre code est que Rust est fortement typé, et le littéral 0