Project

General

Profile

Actions

Feature #8639

closed

Add Queue#each

Added by avdi (Avdi Grimm) almost 11 years ago. Updated about 7 years ago.

Status:
Closed
Target version:
[ruby-core:56019]

Description

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!


Files

361.patch (3.34 KB) 361.patch zzak (zzak _), 08/15/2013 06:00 AM

Related issues 1 (0 open1 closed)

Related to Ruby master - Bug #10485: NoMethodError "undefined method `initialize_copy'" when trying to execute Queue#dupClosedActions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0