3 ms·
No the case with ruby at all, if you're reading the whole file into memory theres a good chance you're doing it wrong. check out yield and blocks
by dpeck 12y ago
No the case with ruby at all, if you're reading the whole file into memory theres a good chance you're doing it wrong.
check out yield and blocks
- Terretta 12y ago> if you're reading the whole file into memory theres a good chance you're doing it wrong GP: "working with file lines _naively_ in Ruby"
- dpeck 12y agoah, my bad, read that as natively and chalked it up to odd wording.
- barrkel 12y agoThe problem is that the most obvious way of doing it - File.readlines('foo.txt').map { ... }.select { ... } etc. - is not stream-oriented.
- riffraff 12y agoarguably, it's trivial to make that stream oriented open('tmp.rb').each_line.lazy.map {...}.select {...} the problem with processing big files with ruby (in my humble experience) is usually that it's still slow enough that "preprocessing with grep&uniq" is worthwhile.
- barrkel 12y ago> open('tmp.rb').each_line.lazy NoMethodError: undefined method `lazy' for #<Enumerator: #<File:Procfile>:each_line> Not everybody is using Ruby 2.0.