Comment appliquer une fonction à chaque élément d'un vecteur en Rust (équivalent de map) ?
Bonjour, collègues ! Je viens de commencer à apprendre Rust, je suis passé de Python, et j'ai un problème avec le traitement des vecteurs.
En Python, j'avais l'habitude de faire ceci :
```python
numbers = [1, 2, 3, 4]
squared = list(map(lambda x: x**2, numbers)) # [1, 4, 9, 16]
```
Ou avec une list comprehension, ce qui est encore plus pratique.
En Rust, j'ai écrit un code à peu près comme ceci :
```rust
fn main() {
let numbers = vec![1, 2, 3, 4];
// Je veux obtenir un nouveau vecteur avec les carrés des nombres
let squared: Vec = numbers.map(|x| x * x).collect();
println!("{:?}", squared);
}
```
Le compilateur donne une erreur :
```
error[E0599]: no method named `map` found for struct `Vec` in the current scope
```
Je comprends que Rust n'est pas Python, et que tout est plus strict avec les types. Mais comment traiter chaque élément d'un vecteur alors ? J'ai entendu parler de certains itérateurs, mais je ne comprends pas encore complètement comment les utiliser. S'il vous plaît, indiquez-moi comment appliquer correctement une fonction à chaque élément pour obtenir un nouveau vecteur ? J'ai besoin d'un nom