LIFO : Last In First Out : le dernier arrivé est le premier à sortir. En français une "pile", en anglais une "stack". Alors oui, je suis un escroc : mon code est celui de hier pour les files, adapté à cette structure informatique classique. Mais ma foi ça marche alors pourquoi s'en priver ?
Le code :
class Lifo
def initialize an_array
@conten = an_array
end
def add val
@conten.push val
end
def add_sev an_arr
for i in an_arr
self.add i
end
end
def remove number = 1
temp = @conten[0, @conten.size-number]
@conten = temp
end
def lenght
@conten.size
end
def cell int
@conten[int]
end
def print
str = ""
for i in (0...@conten.size)
str = str + "[ " + @conten[i].to_s + " ]->"
end
str = str + " nil "
puts str
end
def include? val
@conten.include? val
end
end
Exemple :
a = Lifo.new ["Victime","Chabal","Clerc","Dusautoir"]
a.print
a.add "Ibanez"
a.print
puts "Coup de sifflet !"
a.remove 3
a.print
puts "Allez l'animal, c'est fini !"
a.remove
a.print
puts "Alors, il est bon le gazon ?"
0 commentaires:
Enregistrer un commentaire