class List

Attributes

final[RW]
inicio[RW]

Public Instance Methods

[](index) click to toggle source
# File lib/MenuDietetico/lista.rb, line 122
def [] (index)
    case index
        when 0
            @inicio
        when -1
            @final
        when :inicio,"inicio"
            @inicio
        when :final, "final"
            @final
        else
            nil
    end

end
each() { |aux| ... } click to toggle source

Al metodo each se le puede pasar un bloque de codigo

y ese bloque se va a colocar en cada campo yield y se ejecutará con los parámetros qe están al lado del yield
# File lib/MenuDietetico/lista.rb, line 113
def each
return nil if @inicio.nil?
    aux = @inicio #Creamos un nodo auxiliar
    until aux.nil? #Y hasta que el nodo no sea nulo
        yield aux[:value]
        aux = aux.next
    end
end
empty() click to toggle source
# File lib/MenuDietetico/lista.rb, line 85
def empty

  if(@inicio == nil) then
    return true
  else return false
  end

end
extract_beginning() click to toggle source
# File lib/MenuDietetico/lista.rb, line 12
def extract_beginning

  aux = @inicio
  @inicio = @inicio.next
  if(@inicio != nil)then
    @inicio.prev = nil
  end

  if(@inicio == nil)then
    @final = nil
  end

  return aux.value

end
extract_end() click to toggle source
# File lib/MenuDietetico/lista.rb, line 28
def extract_end

  aux = @final
  @final = @final.prev

  if(@final != nil)then
    @final.next = nil
  end

  if(@final == nil)then
    @inicio = nil
  end

  return aux.value

end
insert_beginning(value) click to toggle source
# File lib/MenuDietetico/lista.rb, line 45
def insert_beginning(value)

if(@inicio == nil) then
    @inicio = Node.new(value, nil, nil)
    @final = @inicio

else
  aux = Node.new(value,@inicio,nil)
  @inicio.prev = aux
  @inicio = aux

end

return true

end
insert_end(value) click to toggle source
# File lib/MenuDietetico/lista.rb, line 62
def insert_end(value)

  if(@final == nil) then
      @final = Node.new(value, nil, nil)
      @inicio = @final

  else
    aux = Node.new(value,nil,@final)
    @final.next = aux
    @final = aux

  end

  return true


end
to_s() click to toggle source
# File lib/MenuDietetico/lista.rb, line 94
def to_s

  string=[]
  aux = @inicio
  i=0

  while(aux.next != nil) do
  string[i]=aux.value.to_s
  aux = aux.next
  i += 1
  end
  string[i] = aux.value

  return string
end