Ruby 队列到数组

Jak*_*Zak 5 ruby arrays queue loops

有没有除此之外的其他方法来获取队列对象的所有元素?

def method queue
    array = []
    until queue.empty? do
        array << queue.pop
    end
    array
end
Run Code Online (Sandbox Code Playgroud)

我正在尝试这样的事情:

def method queue
    Array(until queue.empty? do queue.pop end)
end
Run Code Online (Sandbox Code Playgroud)

但这会返回一个空数组。

Mor*_*rty 5

Array.new(queue.size) { queue.pop }
Run Code Online (Sandbox Code Playgroud)


fal*_*tru 3

使用Integer#timesEnumerable#map

def to_a queue
  queue.size.times.map { queue.pop }
end
Run Code Online (Sandbox Code Playgroud)