class List

Attributes

cabeza[RW]
cola[RW]

Public Class Methods

new(inicio=nil) click to toggle source
# File lib/prct06/prct06.rb, line 9
def initialize(inicio=nil)
        @cola = @cabeza = Node.new(inicio) if inicio
end

Public Instance Methods

add(value) click to toggle source
# File lib/prct06/prct06.rb, line 13
def add(value)
        node = Node.new(value)
        node.next = @cabeza
        @cabeza.before = node

        @cabeza = node
end
add_from_tail(value) click to toggle source
# File lib/prct06/prct06.rb, line 21
def add_from_tail(value)
        node = Node.new(value)
        node.before = @cola
        @cola.next = node
        
        @cola = node
end
each() { |value| ... } click to toggle source
# File lib/prct06/prct06.rb, line 43
def each
        aux = @cabeza
        while aux != nil do
                yield aux.value
                aux = aux.next
        end
end
remove() click to toggle source
# File lib/prct06/prct06.rb, line 29
def remove
        @cabeza = @cabeza.next
end
remove_from_tail() click to toggle source
# File lib/prct06/prct06.rb, line 33
def remove_from_tail
        @cola = @cola.before
        @cola.next = nil
end
to_s() click to toggle source
# File lib/prct06/prct06.rb, line 37
def to_s
        while @cabeza != nil do
                puts @cabeza.value
                remove()
        end
end