Class: Lista
Overview
Clase Lista
Instance Attribute Summary collapse
-
#head ⇒ Object
readonly
La cabecera de la Lista.
Instance Method Summary collapse
-
#each ⇒ Object
Método necesario para que el módulo Enumerable se pueda utilizar(el módulo Enumerable define iteradores útiles que se implementan en base a un iterador each).
-
#empty ⇒ Object
Método que te devuelve la cabecera de la Lista vacía.
-
#initialize ⇒ Lista
constructor
Constructor.
-
#is_empty? ⇒ Boolean
Método que comprueba si la Lista está vacía.
-
#pop ⇒ Object
Método que saca un valor de la Lista.
-
#push(valor) ⇒ Object
Método que inserta un valor o un array de valores en la Lista.
-
#to_s ⇒ Object
Método que imprime la Lista.
Constructor Details
#initialize ⇒ Lista
Constructor
10 11 12 |
# File 'lib/gema/lista.rb', line 10 def initialize @head = nil end |
Instance Attribute Details
#head ⇒ Object (readonly)
La cabecera de la Lista
8 9 10 |
# File 'lib/gema/lista.rb', line 8 def head @head end |
Instance Method Details
#each ⇒ Object
Método necesario para que el módulo Enumerable se pueda utilizar(el módulo Enumerable define iteradores útiles que se implementan en base a un iterador each)
14 15 16 17 18 19 20 |
# File 'lib/gema/lista.rb', line 14 def each node=@head while node != nil yield node.value node=node.next end end |
#empty ⇒ Object
Método que te devuelve la cabecera de la Lista vacía
64 65 66 67 68 |
# File 'lib/gema/lista.rb', line 64 def empty @head = nil return @head end |
#is_empty? ⇒ Boolean
Método que comprueba si la Lista está vacía
55 56 57 58 59 60 61 62 |
# File 'lib/gema/lista.rb', line 55 def is_empty? if(@head==nil) return true else return false end end |
#pop ⇒ Object
Método que saca un valor de la Lista
35 36 37 38 39 40 41 |
# File 'lib/gema/lista.rb', line 35 def pop if(@head!=nil) other = @head @head = @head.next return other.value end end |
#push(valor) ⇒ Object
Método que inserta un valor o un array de valores en la Lista
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/gema/lista.rb', line 22 def push (valor) if(valor.instance_of? Array ) for i in valor @head = Node.new(i,@head) end else @head = Node.new(valor,@head) end @head.value end |
#to_s ⇒ Object
Método que imprime la Lista
43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/gema/lista.rb', line 43 def to_s other = @head total="" while(other!=nil) total+= "#{other.value}\t" other = other.next end total += "\n" end |