Issue #8572 has been updated by knu (Akinori MUSHA).


=begin

We have Generator in 1.8 and Enumerator in 1.9+ that work exactly the
same as the given example.

    # In ruby 1.8, require 'generator' and call Generator.new instead
    enum = Enumerator.new { |g|
      g.yield 3
      g.yield 2
      g.yield 1
      g.yield 0
    }

    # internal style
    enum.each do |x|
      puts x
    end

    # external style
    while enum.next?
      puts enum.next
    end

One of the reasons why Fiber was originally introduced was to
reimplement Generator of ruby 1.8 in better and faster way.  Using
Fiber as implementation technique, Generator was successfully
integrated into Enumerator in Ruby 1.9.

So, Fiber is there as a low-level API for implementing Enumerator in
the first place.  It does not make much sense to me to add a
non-primitive feature to Fiber just to make it work like Enumerator.

I think we need a real use case that would explain why Fiber should be
used that way.
=end

----------------------------------------
Feature #8572: Fiber should be a Enumerable
https://bugs.ruby-lang.org/issues/8572#change-41559

Author: mattn (Yasuhiro Matsumoto)
Status: Open
Priority: Normal
Assignee: ko1 (Koichi Sasada)
Category: 
Target version: 


I'm thinking that Fiber should be a Enumerable. it's easy and reasonable to implement.

https://gist.github.com/mattn/5874949



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