Ruby Queue to Array

时间:2015-12-27 14:17:57

标签: arrays ruby loops queue

是否有其他方法可以获取队列对象的所有元素?

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

但是返回一个空数组。

4 个答案:

答案 0 :(得分:3)

Array.new(queue.size) { queue.pop }

答案 1 :(得分:2)

使用Integer#timesEnumerable#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