[ruby-dev:49751] [Ruby trunk Bug#7877] E::Lazy#with_index should be lazy

From: shyouhei@...
Date: 2016-08-08 01:59:19 UTC
List: ruby-dev #49751
Issue #7877 has been updated by Shyouhei Urabe.


Is there reason this is not loved?  I'd like to have this.

----------------------------------------
Bug #7877: E::Lazy#with_index should be lazy
https://bugs.ruby-lang.org/issues/7877#change-59980

* Author: Shyouhei Urabe
* Status: Assigned
* Priority: Normal
* Assignee: Yutaka HARA
* ruby -v: 2.1.0-dev
* Backport: 2.0.0: UNKNOWN
----------------------------------------
=begin
So I wanted some real benefit of being lazy.  I wrote a Leibniz formula:

  def leibniz(n)
    (0..Float::INFINITY).lazy.with_index {|i, j| (-1 ** j) / (2*i+1).to_f }.take(n).reduce(:+)
  end

But it doesn't work (well, it does, indeed. It just doesn't stop working).  I got frustrated.
How about it?  Don't you feel it nifty?

Of course I can wait for the release next to 2.0.0.
=end

---Files--------------------------------
0001-enumerator.c-Enumerator-Lazy-with_index.patch (3.33 KB)


-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next