by Mr.Lujan桂です。 今日は、Ruby 2.0 で実装された Enumerator#lazy の話をしようと思います。知る人ぞ知るイケてるメソッドなのですが、これを ActiveRecord と組み合わせて、怠惰プログラマーへの第一歩を踏み出したいと思います。 TL;DR怠惰な#lazy の紹介#lazy を無理やり ActiveRecord で利用#lazy で無理やり実践編lazy の紹介Array#map や Array#select などのコレクション操作は、しばしばする必要のない処理で無駄なリソースを消費してしまいます。 > [1, 2, 3, 4, 5].map do |n| * puts n > n * n > end.take(2) 1 2 3 4 5 => [1, 4]この例では、後半の [3, 4, 5] に対する処理は全く必要ありません。 この処理が行われる
![ActiveRecord で lazy を活用する #ruby #rails](https://cdn-ak-scissors.b.st-hatena.com/image/square/4c251a53aa9691c804c07580faff47d2fe228452/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1024%2F1%2AVJV1xzmU-lh5bnzRQeuWRg.jpeg)