[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ruby-core
Subject:    [ruby-core:57483] [ruby-trunk - Feature #8639][Feedback] Add Queue#each
From:       "ko1 (Koichi Sasada)" <redmine () ruby-lang ! org>
Date:       2013-09-30 11:24:48
Message-ID: redmine.journal-42096.20130930202448 () ruby-lang ! org
[Download RAW message or body]


Issue #8639 has been updated by ko1 (Koichi Sasada).

Category set to lib
Status changed from Open to Feedback
Target version set to next minor

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/56421
any comments?
----------------------------------------
Feature #8639: Add Queue#each
https://bugs.ruby-lang.org/issues/8639#change-42096

Author: avdi (Avdi Grimm)
Status: Feedback
Priority: Normal
Assignee: ko1 (Koichi Sasada)
Category: lib
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:

  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/


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic