Comment utiliser les itérateurs de rouille

Comment utiliser les itérateurs de rouille
Les itérateurs sont une caractéristique en béton de la rouille. Ils sont très utiles lorsque vous avez besoin d'itérer sur une séquence d'éléments. Par exemple, si vous bouclez sur les éléments d'un tableau ou d'un vecteur, vous utilisez un itérateur.

Cet article discutera des itérateurs de la rouille, de la façon dont ils sont mis en œuvre et de la façon de les utiliser.

Itérateur de rouille

Un itérateur fait référence à une fonctionnalité qui vous permet de «parcourir» une séquence d'éléments. Comme mentionné, il pourrait être itérant sur chaque élément d'un tableau.

Les itérateurs de rouille sont paresseux. Cela signifie que l'itérateur n'a pas besoin de connaître au préalable le nombre d'éléments qu'il «traversera». Il détermine l'élément suivant si demandé.

Trait d'itérateur de rouille

Les itérateurs sont mis en œuvre par le trait d'itérateur défini dans la bibliothèque Standard Rust. Cela signifie que nous pouvons utiliser le type d'itérateur sur des types primitifs ou une collection personnalisée en fournissant le type à trait et la méthode suivante.

La syntaxe du trait d'itérateur est comme indiqué:

iterator de trait de pub
type élément;
FN NEXT (& Mut self) -> Option;

Pour implémenter le trait d'itérateur sur des types personnalisés, nous devons définir la méthode suivante, qui renvoie un élément à la fois enveloppé en tant que quelque () ou aucune lorsque l'itération est terminée.

Considérez le code suivant qui implémente un itérateur pour une structure personnalisée:

StrucTCount
current_value: i32,

comptage implorant
fnnew () -> self
Soi
current_value: 0,



Implimité pour compter
typeItem = i32;
fnnext (& musist) -> Option
si-même.valeur actuelle<5
soi.current_value + = 1;
Retourne (soi.valeur actuelle);

Aucun


fnmain ()

Ici, nous avons une structure qui a une valeur de i32. Ensuite, un constructeur de comte pour la structure. Nous implémentons également un itérateur pour la structure en utilisant la fonction suivante. Cela renvoie l'élément suivant de la séquence.

Remarque: la valeur de retour est l'option.

Cela nous permet de ne pas en retourner s'il n'y a pas d'élément suivant.

Ensuite, nous pouvons utiliser cet itérateur comme:

Pour i dans le compte :: new ()
println!"""", je);

Conclusion

Cet article a discuté de la nature de l'itérateur de rouille et de son importance. De plus, nous nous sommes plongés dans le trait de Rust Iterator et les méthodes pour implémenter l'itérateur de rouille en types personnalisés. Nous espérons que vous avez trouvé cet article utile. Vérifiez les autres articles sur les indices Linux pour plus de conseils et d'informations.