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