From: "zzak (Zachary Scott)" Date: 2013-08-15T06:00:28+09:00 Subject: [ruby-core:56622] [ruby-trunk - Feature #8639] Add Queue#each Issue #8639 has been updated by zzak (Zachary Scott). File 361.patch added Attaching the patch from Avdi's pull request on github, thank you! ---------------------------------------- Feature #8639: Add Queue#each https://bugs.ruby-lang.org/issues/8639#change-41160 Author: avdi (Avdi Grimm) Status: Open Priority: Normal Assignee: ko1 (Koichi Sasada) 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! -- http://bugs.ruby-lang.org/