[#66126] Creation/Conversion methods/functions table for Ruby types — SASADA Koichi <ko1@...>
Hi,
5 messages
2014/11/07
[#66248] [ruby-trunk - Feature #10423] [PATCH] opt_str_lit*: avoid literal string allocations — normalperson@...
Issue #10423 has been updated by Eric Wong.
3 messages
2014/11/13
[#66595] [ruby-trunk - Bug #10557] [Open] Block not given when the argument is a string — bartosz@...
Issue #10557 has been reported by Bartosz Kopinski.
3 messages
2014/11/30
[ruby-core:66136] [ruby-trunk - Feature #8639] Add Queue#each
From:
nobu@...
Date:
2014-11-07 16:20:09 UTC
List:
ruby-core #66136
Issue #8639 has been updated by Nobuyoshi Nakada.
Related to Bug #10485: NoMethodError "undefined method `initialize_copy'" when trying to execute Queue#dup added
----------------------------------------
Feature #8639: Add Queue#each
https://bugs.ruby-lang.org/issues/8639#change-49842
* Author: Avdi Grimm
* Status: Feedback
* Priority: Normal
* Assignee: 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:
~~~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/