Sha256: db7a56017ed9a9362ce4fc0acca89ce632cd050b44e1576352b0fa6992ec69f5
Contents?: true
Size: 1.15 KB
Versions: 3
Compression:
Stored size: 1.15 KB
Contents
class Stack { """ A simple Stack container class. """ def initialize { """ Initializes a new Stack. """ @arr = [] } def initialize: size { """ @size Initial size of the new Stack. Initializes a new Stack with a given size. """ @arr = Array new: size } def push: obj { """ @obj Object to be pushed onto @self. Pushes a value onto the Stack. """ @arr << obj } alias_method: '<< for: 'push: def pop { """ @return Top-of-stack element. Pops the top-of-stack element from the Stack and returns it. """ @arr remove_at: -1 } def top { """ @return The top-of-stack element. """ @arr last } def size { """ @return Size of the Stack. """ @arr size } def empty? { """ @return @true if empty, otherwise @false. Indicates, if the Stack is empty. """ @arr empty? } def each: block { """ @block @Block@ to be called with each element in @self. @return @self. Calls a given @Block@ with each element in @self, starting with the top of stack element. """ @arr reverse_each: block } }
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
fancy-0.10.0 | lib/stack.fy |
fancy-0.9.0 | lib/stack.fy |
fancy-0.8.0 | lib/stack.fy |