Actions
Bug #6158
closedEnumerator::Lazy#take: should it be lazy?
Description
Hello,
I noticed #take is now defined on Enumerator::Lazy, and it has lazy behavior:
(1..1000).lazy.select(&:even?).take 3 # => #<Enumerator::Lazy ...>
I would expect #take to not be lazy and always produce an Array, like the original Enumerable#take does.
I think many rubyists would expect that too.
Do you have a use case for a lazy #take ? I can't find one right now.
I've seen #6152, although I can't read it.
I think lazy.take(5)
should be equal to lazy.first(5)
and it reads better.
Files
Actions
Like0
Like0Like0Like0Like0Like0Like0