Class: Pile

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/Hashiparmentier/Core/Pile.rb

Overview

Auteur

Brabant Mano

Version

0.1

Date

09/04/2020

Cette classe représente une pile

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(max) ⇒ Pile

:nodoc:



26
27
28
29
30
31
# File 'lib/Hashiparmentier/Core/Pile.rb', line 26

def initialize(max)

  @actions = Array.new()
  @max = max

end

Instance Attribute Details

#indiceObject (readonly)

Returns the value of attribute indice.



11
12
13
# File 'lib/Hashiparmentier/Core/Pile.rb', line 11

def indice
  @indice
end

Class Method Details

.creer(max = 0) ⇒ Object

Ce constructeur permet de créer une nouvelle pile

param
  • max Le nombre maximum d’élément dans la pile (“infini” par defaut)



21
22
23
# File 'lib/Hashiparmentier/Core/Pile.rb', line 21

def Pile.creer(max = 0)
  new(max)
end

Instance Method Details

#depilerObject

Cette méthode permet de dépiler le dernier élément

return
  • L’élément dépilé

  • raiseException Si la pile est vide



56
57
58
59
60
61
62
63
64
# File 'lib/Hashiparmentier/Core/Pile.rb', line 56

def depiler

  if(self.empty?())
    raise("La pile est vide")
  else
    return @actions.pop()
  end

end

#eachObject

Cette méthode permet d’itérer sur tous les éléments de la pile



77
78
79
80
81
82
83
# File 'lib/Hashiparmentier/Core/Pile.rb', line 77

def each

  @actions.each do |hyp|
     yield hyp
   end

end

#empiler(element) ⇒ Object

Cette méthode permet de d’empiler un élément

param
  • element L’élément à empiler



38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/Hashiparmentier/Core/Pile.rb', line 38

def empiler(element)

  if(@max > 0)
    if(@actions.length < @max)
      @actions.push(element)
    end
  else
    @actions.push(element)
  end
  return self

end

#empty?Boolean

Cette méthode permet de savoir si la pile est vide ou non

return
  • true Si la pile est vide

  • false Sinon

Returns:

  • (Boolean)


71
72
73
# File 'lib/Hashiparmentier/Core/Pile.rb', line 71

def empty?()
  return @actions.empty?()
end