Faites une pause !
Le module Enumerable
définit la méthode lazy
qui va transformer vos itérateurs en stream. En plus de pouvoir manipuler plus simplement des Range
infini, il pourra être plus performant.
Il fonctionne en changeant l’ordre d’éxécution. Au lieu de procéder « par méthode », il procède « par élément » évitant ainsi des opérations inutiles quand c’est possible.
La méthode eager
retransformera en itérateur classique (sans perdre les avantages jusque là) pour être transparent si nécessaire.
Le lien vers la documentation Ruby de lazy
.