class Lista

Attributes

beginning[RW]

Reader y writer para cada variable

tail[RW]

Reader y writer para cada variable

Public Class Methods

new() click to toggle source
# File lib/prct06/lista.rb, line 13
def initialize
        @beginning = @tail = nil
end

Public Instance Methods

add(valor) click to toggle source

Método add para añadir un nodo a la lista

# File lib/prct06/lista.rb, line 17
def add (valor)
        nodo = Nodo.new(valor)
        
        @beginning = nodo if @beginning.nil?
        
        @tail.next = nodo unless @tail.nil? 
        nodo.prev = @tail unless @tail.nil?
        @tail = nodo
end
each() { |value| ... } click to toggle source

Definición del each para Enumerable

# File lib/prct06/lista.rb, line 53
def each
        aux = @beginning
        while aux != nil do
                yield aux.value
                aux = aux.next
        end   
end
pop() click to toggle source

Método pop para sacar un elemento por el principio

# File lib/prct06/lista.rb, line 27
def pop 
        aux = @beginning
        @beginning = @beginning.next
        aux

end
size() click to toggle source

Método size que devuelve el tamaño de la lista

# File lib/prct06/lista.rb, line 34
def size
        size = 0
        $i = @beginning
        while $i != nil do
                size = size + 1
                $i = $i.next
        end
        size
end
to_s() click to toggle source

Definición de to_s para mostrar la lista por pantalla

# File lib/prct06/lista.rb, line 44
def to_s
        $i = @beginning
        while $i != nil do
                mostrar = ""
                puts "#{$i.value}"
                $i = $i.next
        end
end