Issue #8639 has been updated by Koichi Sasada.

Status changed from Feedback to Closed

No discussion.

----------------------------------------
Feature #8639: Add Queue#each
https://bugs.ruby-lang.org/issues/8639#change-62787

* Author: Avdi Grimm
* Status: Closed
* Priority: Normal
* Assignee: Koichi Sasada
* Target version: next minor
----------------------------------------
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:

  ~~~ruby
  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!

---Files--------------------------------
361.patch (3.34 KB)


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

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>