在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
(1..Float::INFINITY).select { |x| x % 7 == 0 }.take(10).to_a 这样写的话会直接卡死,这个时候用lazy (1..Float::INFINITY).lazy.select { |x| x % 7 == 0 }.take(10).to_a
同样,当我们操作一个很大的文件时,直接做each_line操作会把整个文件都放到内存里。 file = File.open('xxxx', 'r') file.each_line.select { |row| row.xxx } 用lazy方法会逐步加载文件。 file = File.open('xxxx', 'r') file.each_line.lazy.select { |row| row }
关于Enumerator::lazy 详细用法: https://railsware.com/blog/2012/03/13/ruby-2-0-enumerablelazy/
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论