From: Alex Young Date: 2013-07-16T05:24:26+09:00 Subject: [ruby-core:56029] Re: [ruby-trunk - Feature #8639][Open] Add Queue#each On Tue, 2013-07-16 at 00:44 +0900, avdi (Avdi Grimm) wrote: > Issue #8639 has been reported by avdi (Avdi Grimm). I thought this sounded familiar. It has come up before: http://bugs.ruby-lang.org/issues/4589 -- Alex > > ---------------------------------------- > Feature #8639: Add Queue#each > https://bugs.ruby-lang.org/issues/8639 > > Author: avdi (Avdi Grimm) > Status: Open > Priority: Normal > Assignee: > 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! > >