Class: Pile
- Inherits:
-
Object
- Object
- Pile
- 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
-
#indice ⇒ Object
readonly
Returns the value of attribute indice.
Class Method Summary collapse
-
.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).
-
Instance Method Summary collapse
-
#depiler ⇒ Object
- Cette méthode permet de dépiler le dernier élément return
-
L’élément dépilé * raiseException Si la pile est vide.
-
-
#each ⇒ Object
Cette méthode permet d’itérer sur tous les éléments de la pile.
-
#empiler(element) ⇒ Object
- Cette méthode permet de d’empiler un élément param
-
element L’élément à empiler.
-
-
#empty? ⇒ Boolean
- Cette méthode permet de savoir si la pile est vide ou non return
-
true Si la pile est vide * false Sinon.
-
-
#initialize(max) ⇒ Pile
constructor
:nodoc:.
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
#indice ⇒ Object (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
#depiler ⇒ Object
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 |
#each ⇒ Object
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
71 72 73 |
# File 'lib/Hashiparmentier/Core/Pile.rb', line 71 def empty?() return @actions.empty?() end |