From: Avdi Grimm Date: 2013-08-14T17:56:50-04:00 Subject: [ruby-core:56623] Re: [ruby-trunk - Feature #8639] Add Queue#each --001a11336bba8703fd04e3ef7022 Content-Type: text/plain; charset=ISO-8859-1 Thanks! I'm off to a conf this week, it probably would have been a awhile before I got around to it. On Wed, Aug 14, 2013 at 5:00 PM, zzak (Zachary Scott) wrote: > > Issue #8639 has been updated by zzak (Zachary Scott). > > File 361.patch added > > Attaching the patch from Avdi's pull request on github, thank you! > ---------------------------------------- > Feature #8639: Add Queue#each > https://bugs.ruby-lang.org/issues/8639#change-41160 > > Author: avdi (Avdi Grimm) > Status: Open > Priority: Normal > Assignee: ko1 (Koichi Sasada) > Category: > Target version: > > > I was fiddling around with Queue the other day and realized it doesn't > have an #each method. So I made one: https://github.com/ruby/ruby/pull/361 > > As for why, it makes for a convenient way to build consumer processes: > > inq = Queue.new > outq = Queue.new > doubler = Thread.new do > inq.each do |n| > outq << n + n > end > end > > My PR also returns an Enumerator when no block is given, and handles the > non_block argument. > > I'm sure there's some good reason that this method wasn't there already, > so feel free to explain. > > Also, this is my first Ruby feature ticket so please let me know if I'm > missing any points of protocol. > > Thanks! > > > -- > http://bugs.ruby-lang.org/ > -- Avdi Grimm http://avdi.org I only check email twice a day. to reach me sooner, go to http://awayfind.com/avdi --001a11336bba8703fd04e3ef7022 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Thanks! I'm off to a conf this week, it probably would= have been a awhile before I got around to it.


On Wed, Aug 14, 2013 at 5:00 PM, zza= k (Zachary Scott) <e@zzak.io> wrote:

Issue #8639 has been updated by zzak (Zachary Scott).

File 361.patch added

Attaching the patch from Avdi's pull request on github, thank you!
----------------------------------------
Feature #8639: Add Queue#each
https://bugs.ruby-lang.org/issues/8639#change-41160

Author: avdi (Avdi Grimm)
Status: Open
Priority: Normal
Assignee: ko1 (Koichi Sasada)
Category:
Target version:


I was fiddling around with Queue the other day and realized it doesn't = have an #each method. So I made one: https://github.com/ruby/ruby/pull/361

As for why, it makes for a convenient way to build consumer processes:

=A0 inq =3D Queue.new
=A0 outq =3D Queue.new
=A0 doubler =3D Thread.new do
=A0 =A0 inq.each do |n|
=A0 =A0 =A0 outq << n + n
=A0 =A0 end
=A0 end

My PR also returns an Enumerator when no block is given, and handles the no= n_block argument.

I'm sure there's some good reason that this method wasn't there= already, so feel free to explain.

Also, this is my first Ruby feature ticket so please let me know if I'm= missing any points of protocol.

Thanks!


--
http://bugs.ruby-l= ang.org/



--
= Avdi Grimm
http://avdi.org=

I only check email twice a day. to reach me sooner, go to http://awayfind.com/avdi<= /a>
--001a11336bba8703fd04e3ef7022--