We have an Enumerator::Lazy object
a = [1,2,3].lazy.map {} #=> <Enumerator::Lazy: #<Enumerator::Lazy: [1, 2, 3]>:map>
a.size #=> 3
a.clone.size #=> nil
Does anyone have correct explanation of such behaviour ? I know that size
returns size of the enumerator, or nil if it can’t be calculated lazily.
When we clone object it returns
a.clone #=> <Enumerator::Lazy:<Enumerator::Generator:0x00007fdaa80218d8>:each>