https://redmine.ruby-lang.org/https://redmine.ruby-lang.org/favicon.ico?17113305112008-11-04T00:05:42ZRuby Issue Tracking SystemRuby master - Feature #707: Documentation for Enumerator chaininghttps://redmine.ruby-lang.org/issues/707?journal_id=15222008-11-04T00:05:42Zcandlerb (Brian Candler)b.candler@pobox.com
<ul></ul><p>=begin<br>
Here is another (shorter and simpler)</p>
<p>class Enumerator<br>
def filter(&blk)<br>
self.class.new do |y|<br>
each do |*input|<br>
blk.call(y, *input)<br>
end<br>
end<br>
end<br>
end</p>
<p>a = (1..1_000_000_000).to_enum<br>
a.filter { |out,inp| out << inp if inp % 2 == 0 }.<br>
filter { |out,inp| out << inp+100 }.<br>
with_index.each { |inp,c| puts inp; break if c > 10 }</p>
<p>=end</p> Ruby master - Feature #707: Documentation for Enumerator chaininghttps://redmine.ruby-lang.org/issues/707?journal_id=17992008-11-29T16:29:22Zko1 (Koichi Sasada)
<ul><li><strong>Assignee</strong> set to <i>matz (Yukihiro Matsumoto)</i></li></ul><p>=begin</p>
<p>=end</p> Ruby master - Feature #707: Documentation for Enumerator chaininghttps://redmine.ruby-lang.org/issues/707?journal_id=68212009-11-14T03:04:23Zrogerdpack (Roger Pack)rogerpack2005@gmail.com
<ul></ul><p>=begin<br>
Is this also possible in 1.8?</p>
<p><a href="http://www.ruby-forum.com/topic/198804#new" class="external">http://www.ruby-forum.com/topic/198804#new</a><br>
<a href="http://github.com/trans/facets/blob/master/lib/core/facets/denumerable.rb" class="external">http://github.com/trans/facets/blob/master/lib/core/facets/denumerable.rb</a></p>
<p>Brian do you think you could write the tutorial on chaining started here:<br>
<a href="http://wiki.github.com/rdp/ruby_tutorials_core/enumerator" class="external">http://wiki.github.com/rdp/ruby_tutorials_core/enumerator</a><br>
?<br>
-r<br>
=end</p> Ruby master - Feature #707: Documentation for Enumerator chaininghttps://redmine.ruby-lang.org/issues/707?journal_id=68222009-11-14T05:01:10Zcandlerb (Brian Candler)b.candler@pobox.com
<ul></ul><p>=begin</p>
<blockquote>
<p>Is this also possible in 1.8?</p>
</blockquote>
<p>Sure. Block-form Enumerator is surprisingly straightforward to implement, see<br>
<a href="http://github.com/trans/facets/blob/master/lib/more/facets/enumerator.rb" class="external">http://github.com/trans/facets/blob/master/lib/more/facets/enumerator.rb</a></p>
<p>But since 1.9 has it already, I think it's worth documenting the possibilities more clearly.<br>
=end</p> Ruby master - Feature #707: Documentation for Enumerator chaininghttps://redmine.ruby-lang.org/issues/707?journal_id=134022010-09-14T16:51:48Zshyouhei (Shyouhei Urabe)shyouhei@ruby-lang.org
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Assigned</i></li></ul><p>=begin</p>
<p>=end</p> Ruby master - Feature #707: Documentation for Enumerator chaininghttps://redmine.ruby-lang.org/issues/707?journal_id=235922012-02-07T23:55:22Zmame (Yusuke Endoh)mame@ruby-lang.org
<ul><li><strong>Assignee</strong> changed from <i>matz (Yukihiro Matsumoto)</i> to <i>drbrain (Eric Hodel)</i></li></ul><p>Drbrain, could you take over this documentation ticket?</p>
<p>--<br>
Yusuke Endoh <a href="mailto:mame@tsg.ne.jp" class="email">mame@tsg.ne.jp</a></p> Ruby master - Feature #707: Documentation for Enumerator chaininghttps://redmine.ruby-lang.org/issues/707?journal_id=236352012-02-08T15:38:05Zdrbrain (Eric Hodel)drbrain@segment7.net
<ul><li><strong>Priority</strong> changed from <i>3</i> to <i>Normal</i></li></ul><p>I will work on it, thank you.</p> Ruby master - Feature #707: Documentation for Enumerator chaininghttps://redmine.ruby-lang.org/issues/707?journal_id=237242012-02-11T11:01:57Zdrbrain (Eric Hodel)drbrain@segment7.net
<ul><li><strong>File</strong> <a href="/attachments/2453">enumerator.c.lazy.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/2453/enumerator.c.lazy.patch">enumerator.c.lazy.patch</a> added</li></ul><p>What do you think about this patch?</p>
<p>I chose not to monkey-patch Enumerator since I don't want the documentation to collide with <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Enumerable#lazy (Closed)" href="https://redmine.ruby-lang.org/issues/4890">#4890</a></p>
<p>Also, I think assigning the lazy enumerators helps illustrate the difference between lazy_select and select (select would never return).</p> Ruby master - Feature #707: Documentation for Enumerator chaininghttps://redmine.ruby-lang.org/issues/707?journal_id=237512012-02-13T20:06:22Zmame (Yusuke Endoh)mame@ruby-lang.org
<ul></ul><p>Look good to me. Please go ahead!</p>
<p>--<br>
Yusuke Endoh <a href="mailto:mame@tsg.ne.jp" class="email">mame@tsg.ne.jp</a></p> Ruby master - Feature #707: Documentation for Enumerator chaininghttps://redmine.ruby-lang.org/issues/707?journal_id=238032012-02-14T06:19:13Zdrbrain (Eric Hodel)drbrain@segment7.net
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Closed</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li></ul><p>This issue was solved with changeset r34586.<br>
Brian, thank you for reporting this issue.<br>
Your contribution to Ruby is greatly appreciated.<br>
May Ruby be with you.</p>
<hr>
<ul>
<li>enumerator.c: Document use of Enumerator.new for creating a lazy<br>
enumeration for filtering/chaining. [ruby-trunk - Feature <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Documentation for Enumerator chaining (Closed)" href="https://redmine.ruby-lang.org/issues/707">#707</a>]</li>
</ul>