Data Structs in Ruby

Hello,

How would the implementation of such a stack or queue, and Ruby, already
has something “ready” to handle …

Thakns.

I sorry but my english is not very good.

Array can act as a stack as it has #pop and #last. It can also act as a
queue as it also has #first and #shift. You can wrap this functionality
in a Queue and Stack classes to make it more explicit if you like.

Bilyk, Alex wrote:

Array can act as a stack as it has #pop and #last. It can also act as a
queue as it also has #first and #shift. You can wrap this functionality
in a Queue and Stack classes to make it more explicit if you like.

Included in the Ruby standard library:

irb(main):001:0> require ‘thread’
=> true
irb(main):002:0> q = Queue.new
=> #Queue:0xb7d753e0
irb(main):003:0> q.push “abc”
=> #Queue:0xb7d753e0
irb(main):004:0> q.pop
=> “abc”

This queue object is thread-safe. There is also SizedQueue, which blocks
pushes when the queue reaches a certain size, until another element has
been popped.

On 31.10.2008 22:27, Bilyk, Alex wrote:

Array can act as a stack as it has #pop and #last.

It even has #push.

It can also act as a queue as it also has #first and #shift.

You can use #push and #shift or #unshift and #pop for queue behavior.
Plus there is Queue as Brian mentioned.

Cheers

robert

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs