Class: Lse
Instance Attribute Summary collapse
-
#actual ⇒ Object
readonly
retorna el nodo apuntado por actual.
-
#fin ⇒ Object
readonly
Acceso a los atributos mediante metodos.
-
#Max ⇒ Object
readonly
Acceso a los atributos mediante metodos.
Instance Method Summary collapse
-
#clean ⇒ Object
metodo para limpiar la lista.
-
#each ⇒ Object
Metodo de acceso a acada elemento, Comparable y Enumerable.
-
#extrac_actual ⇒ Object
extrae y retorna el elemento apuntado por actual.
-
#extrac_fin ⇒ Object
extrae y retorna el elemento apuntado por el apuntador fin.
-
#initialize ⇒ Lse
constructor
A new instance of Lse.
-
#insert(value) ⇒ Object
inserta un nodo al final de la lista.
-
#insertar(value) ⇒ Object
crea el nodo en base al dato e intenta insertarlo por el final de la lista.
-
#mostrar_actual ⇒ Object
retorna una cadena que contiene el contenido del nodo apuntado por la variable actual.
-
#mostrar_fin ⇒ Object
retornara una cadena que contiene el valor que guarda la estructura del nodo que se ha insertado en el apuntador fin, podra ser el primero insertado.
-
#mostrar_lista_actual ⇒ Object
adaptado para enseñar el estruc, seria conveniente diseñar atra alaternativa para motrar los datos.
-
#mostrar_lista_final ⇒ Object
metodo que enseña la lista empezando por el apuntador fin empezara por el primer elemento añadido.
-
#tam ⇒ Object
retorna el valor de la variable max, que contiene el numero actual de nodos que contiene la lista.
Constructor Details
#initialize ⇒ Lse
Returns a new instance of Lse.
13 14 15 16 17 |
# File 'lib/pract06/menu_dieta.rb', line 13 def initialize @Max = 0 @actual = nil @fin = nil end |
Instance Attribute Details
#actual ⇒ Object (readonly)
retorna el nodo apuntado por actual
11 12 13 |
# File 'lib/pract06/menu_dieta.rb', line 11 def actual @actual end |
#fin ⇒ Object (readonly)
Acceso a los atributos mediante metodos
11 12 13 |
# File 'lib/pract06/menu_dieta.rb', line 11 def fin @fin end |
#Max ⇒ Object (readonly)
Acceso a los atributos mediante metodos
11 12 13 |
# File 'lib/pract06/menu_dieta.rb', line 11 def Max @Max end |
Instance Method Details
#clean ⇒ Object
metodo para limpiar la lista
139 140 141 142 143 144 145 146 147 148 149 |
# File 'lib/pract06/menu_dieta.rb', line 139 def clean while(@actual != nil) do aux= @actual @actual = @actual[:next] aux = nil end @actual = nil @fin = nil @Max = 0 end |
#each ⇒ Object
Metodo de acceso a acada elemento, Comparable y Enumerable
153 154 155 156 157 158 159 |
# File 'lib/pract06/menu_dieta.rb', line 153 def each aux = @actual while(aux != nil) yield aux[:value] aux= aux[:next] end end |
#extrac_actual ⇒ Object
extrae y retorna el elemento apuntado por actual
120 121 122 123 124 125 126 127 128 129 130 |
# File 'lib/pract06/menu_dieta.rb', line 120 def extrac_actual if(@actual!= nil) aux = @actual @actual = @actual[:prev] @Max-= 1 var = aux[:value] else var = nil end var end |
#extrac_fin ⇒ Object
extrae y retorna el elemento apuntado por el apuntador fin
107 108 109 110 111 112 113 114 115 116 117 |
# File 'lib/pract06/menu_dieta.rb', line 107 def extrac_fin if(@fin!= nil) aux = @fin @fin = @fin[:next] @Max-= 1 var =aux[:value] else var =nil end var end |
#insert(value) ⇒ Object
inserta un nodo al final de la lista
25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/pract06/menu_dieta.rb', line 25 def insert(value) if @Max <= TAM_MAX_LIST if @actual.nil? @actual = value @fin = value else value.next = @actual @actual.prev = value value.prev = nil @actual = value end @Max+= 1 end end |
#insertar(value) ⇒ Object
crea el nodo en base al dato e intenta insertarlo por el final de la lista
20 21 22 |
# File 'lib/pract06/menu_dieta.rb', line 20 def insertar(value) insert(Node.new(value, nil, nil)) end |
#mostrar_actual ⇒ Object
retorna una cadena que contiene el contenido del nodo apuntado por la variable actual
46 47 48 |
# File 'lib/pract06/menu_dieta.rb', line 46 def mostrar_actual "#{@actual[:value]}\n\n" end |
#mostrar_fin ⇒ Object
retornara una cadena que contiene el valor que guarda la estructura del nodo que se ha insertado en el apuntador fin, podra ser el primero insertado.
52 53 54 |
# File 'lib/pract06/menu_dieta.rb', line 52 def mostrar_fin "#{@fin[:value]}\n\n" end |
#mostrar_lista_actual ⇒ Object
adaptado para enseñar el estruc, seria conveniente diseñar atra alaternativa para motrar los datos.
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/pract06/menu_dieta.rb', line 63 def mostrar_lista_actual var = "" aux= @actual j= @Max if(@actual != nil) while(aux[:next] != nil) do muestra = aux[:value] aux = aux[:next] i = j + 96 var += "#{(i).chr} )#{muestra[:descripcion]},#{muestra[:porcion]},#{muestra[:gramos]}" j-= 1 puts var var = "" end i = j + 96 var += "#{(i).chr} )#{aux[:value][:descripcion]},#{aux[:value][:porcion]},#{aux[:value][:gramos]}" puts var end end |
#mostrar_lista_final ⇒ Object
metodo que enseña la lista empezando por el apuntador fin empezara por el primer elemento añadido
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/pract06/menu_dieta.rb', line 86 def mostrar_lista_final var = "" aux= @fin j= 0 if(@fin != nil) while aux[:prev] != nil do muestra = aux[:value] aux = aux[:prev] i = j + 97 var += "#{(i).chr} )#{muestra[:descripcion]},#{muestra[:porcion]},#{muestra[:gramos]}" j+= 1 puts var var = "" end i = j + 97 var +="#{(i).chr} )#{aux[:value][:descripcion]},#{aux[:value][:porcion]},#{aux[:value][:gramos]}" puts var end end |
#tam ⇒ Object
retorna el valor de la variable max, que contiene el numero actual de nodos que contiene la lista
133 134 135 |
# File 'lib/pract06/menu_dieta.rb', line 133 def tam @Max end |