是否有其他方法可以获取队列对象的所有元素?
def method queue
array = []
until queue.empty? do
array << queue.pop
end
array
end
我正在尝试这样的事情:
def method queue
Array(until queue.empty? do queue.pop end)
end
但是返回一个空数组。
答案 0 :(得分:3)
Array.new(queue.size) { queue.pop }
答案 1 :(得分:2)
使用Integer#times
,Enumerable#map
:
def to_a queue
queue.size.times.map { queue.pop }
end
答案 2 :(得分:2)
我会写一些类似的东西:
$enc_shift == -$dec_shift
答案 3 :(得分:0)
所有这些答案都清空了队列,这对我来说并不起作用。
我要去:
class Queue
def to_a
@que.dup
end
end