Como usar iteradores de ferrugem

Como usar iteradores de ferrugem
Iteradores são uma característica concreta em ferrugem. Eles são muito úteis quando você precisa iterar sobre uma sequência de elementos. Por exemplo, se você estiver loop sobre os itens em uma matriz ou vetor, está usando um iterador.

Este artigo discutirá iteradores em ferrugem, como eles são implementados e como usá -los.

Iterador de ferrugem

Um iterador refere -se a um recurso que permite que você "passe por" uma sequência de elementos. Como mencionado, pode estar iterando sobre cada elemento em uma matriz.

Iteradores em ferrugem são preguiçosos. Isso significa que o iterador não precisa saber de antemão o número de elementos em que “passará”. Determina o próximo elemento se solicitado.

Traço do iterador de ferrugem

Os iteradores são implementados pelo traço do iterador definido na biblioteca padrão da ferrugem. Isso significa que podemos usar o tipo de iterador em tipos primitivos ou uma coleção personalizada, fornecendo o tipo de característica e o próximo método.

A sintaxe para a característica do iterador é como mostrado:

Iterador de traço de pub
item de tipo;
FN Próximo (& mut self) -> opção;

Para implementar o traço do iterador em tipos personalizados, precisamos definir o próximo método, que retorna um item de cada vez envolvido como alguns () ou nenhum quando a iteração é completa.

Considere o seguinte código que implementa um iterador para uma estrutura personalizada:

StructCount
current_value: i32,

Impl Count
fnnew () -> self
Auto
current_value: 0,



Impliterator para contagem
typeItem = i32;
fnNext (& Mutself) -> opção
se você mesmo.valor atual<5
auto.current_value += 1;
retorno (eu.valor atual);

Nenhum


fnmain ()

Aqui, temos uma estrutura que tem um valor de i32. Em seguida é um construtor de contagem para a estrutura. Também implementamos um iterador para a estrutura usando a próxima função. Isso retorna o próximo elemento na sequência.

Nota: o valor de retorno é a opção.

Isso nos permite retornar nenhum, se não houver o próximo item.

Então, podemos usar este iterador como:

Para i em conta :: new ()
println!"""", eu);

Conclusão

Este artigo discutiu a natureza do iterador de ferrugem e sua importância. Além disso, mergulhamos no traço do iterador de ferrugem e nos métodos para implementar o iterador de ferrugem em tipos personalizados. Esperamos que você tenha achado este artigo útil. Verifique os outros artigos de dica do Linux para obter mais dicas e informações.