Skip to content

mephistobooks/fsfifo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fsfifo ReadMe

Fixed Size FIFO, LIFO, Array lib.

fsfifo.rb defines FSFIFO, which is the fixed size FIFO (Queue).

This extends the built-in Array so you can easily understand it. (fsfifo.rb also defines FSLIFO and FSArray, and FSArray is the most general class)

Usage

Do [sudo] gem install fsfifo and require 'fsfifo' for preparation.

new

Just FSFIFO.new(4) or FSFIFO.new( size: 4 ) and then you can create a FIFO whose size is 4:

>>fsf = FSFIFO.new( 4 )
=> []
>> fsf.size
=> 0
>> fsf.fifosize
=> 4

size

Here, FSFIFO#size means the number of elements and FSFIFO#fifosize means the size of FIFO. You can also change the size of FIFO by FSFIFO#resize.

operation

And you can push objects like this:

>> fsf.push( 1 )
=> [1]

>> fsf.push( 2 )
=> [1, 2]

>> fsf.push( 3 )
=> [1, 2, 3]

>> fsf.push( 4 )
=> [1, 2, 3, 4]

>> fsf.push( 5 )
=> [2, 3, 4, 5]

You can also shift and resize.

>> fsf
=> [2, 3, 4, 5]
>> fsf.shift
=> 2
>> fsf
=> [3, 4, 5]
>> fsf.resize( 2 )
=> [3]
>> fsf
=> [4, 5]
>> fsf.push( 6 )
=> [5, 6]

License

MIT License.

End

About

Fixed size FIFO in Ruby

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages