Ruby只有Queue
class只有几种方法:push
,pop
,length
,empty?
,clear
,{{1 },close
和closed?
。 (加上同义词。)
我没有看到一种方法来检查队列对象的内容而不会弹出它们 - 可能是因为num_waiting
类打算用于线程而不是其他对象。
或者我错了?有没有办法检查队列对象的内容而不弹出它们?
答案 0 :(得分:2)
Queue
类没有窥视功能。
如果您可以管理线程安全问题,则可以使用Array
充当队列。
q = Array.new
q.push 1
q.push 2
q.push 3
q.shift # Equivalent of Queue#pop
#=> 1
q.first # Equivalent to peek
#=> 2
q.first(2)
#=> [2, 3]