RosettaCodeData/Task/Queue-Definition/Ruby/queue-definition-2.rb

17 lines
700 B
Ruby

f = FIFO.new
f.empty? # => true
f.pop # => nil
f.pop(2) # => []
f.push(14) # => FIFO[14]
f << "foo" << [1,2,3] # => FIFO[14, "foo", [1, 2, 3]]
f.enqueue("bar", Hash.new, "baz")
# => FIFO[14, "foo", [1, 2, 3], "bar", {}, "baz"]
f.size # => 6
f.pop(3) # => [14, "foo", [1, 2, 3]]
f.dequeue # => "bar"
f.empty? # => false
g = FIFO[:a, :b, :c]
g.pop(2) # => [:a, :b]
g.pop(2) # => [:c]
g.pop(2) # => []