Project

General

Profile

Actions

Bug #9723

closed

#size does not trigger evaluation of lazy enumerator.

Added by zekefast (Zeke Fast) about 10 years ago. Updated about 10 years ago.

Status:
Rejected
Target version:
-
ruby -v:
2.1.1
[ruby-core:61942]

Description

Here is the code which shows weird behariour

Steps to reproduce

$ irb 2.1.1 :001 > [1, 2, 3].lazy.select{ |e| e%2 == 1}.size => nil 2.1.1 :002 > [1, 2, 3].lazy.select{ |e| e%2 == 1}.to_a => [1, 3] 2.1.1 :003 > [1, 2, 3].lazy.size => 3

Expected

[1, 2, 3].lazy.select{ |e| e%2 == 1}.size
to return number of elements like [1, 2, 3].lazy.size did.

Actual

[1, 2, 3].lazy.select{ |e| e%2 == 1}.size returns nil.

Environment

Ruby: ruby 2.0.0p457 (2014-03-03) [x86_64-linux-gnu]
RVM: rvm 1.25.22 (stable) by Wayne E. Seguin , Michal Papis [https://rvm.io/]
OS: Linux xxxxxx 3.13-1-amd64 #1 SMP Debian 3.13.7-1 (2014-03-25) x86_64 GNU/Linux

Actions

Also available in: Atom PDF

Like0
Like0Like0