JÁ CONHECE MEU NOVO CURSO?
O caminho certo para aprender React
70 videoaulas. Mais de 11 horas de conteúdo. Vários projetos desenvolvidos!
Transformando um Array em um Enumerator no Ruby
Existem alguns casos em que você precisa modificar um array (aumentá-lo por exemplo) repetindo os
valores presentes no array original.
Uma forma bem interessante de fazer isso é convertendo tal array para um objeto Enumerator.
Para isso, existe o método Enumerator#cycle. Imagine o seguinte array:
ruby
array = [1, 3, 5, 7]
Ao rodar o método
cycle
, veja o que acontece:ruby
array.cycle # => #<Enumerator: [1, 3, 5, 7]:cycle>
Podemos agora usar o método
Enumerator#take
e modificar o array original como quisermos.
Por exemplo, vamos dobrar o seu tamanho:ruby
array.cycle.take(8) # => [1, 3, 5, 7, 1, 3, 5, 7]
Foi criado um array do tamanho especificado no parametro do método
take
.Isso é útil - por exemplo - em casos similares à
esse código
da gem
boleto_bancario
. Em algoritmos de IA também é bastante comum precisar desse tipo de
modificação em arrays.