Salut à vous,
Il y a réèllement un truc qui m'echappe à ce niveau du cours
mes soucis sont en plusieurs étapes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 list = {} function list.new() return {first = 0, last = -1} end function List.pushleft(list, value) local first = list.first - 1 list.first = first list[first] = value end function List.pushright(list, value) local last = list.last + 1 list.last = last list[last] = value end function List.popleft(list) local first = list.first if first > list.last then error("liste vide") end local value = list[first] list[first] = nil -- à la corbeille list.first = first + 1 return value end function List.popright(list) local last = list.last if list.first > last then error("liste vide") end local value = list[last] list[last] = nil -- à la corbeille list.last = last - 1 return value end
1) la premère fonction c'est list.new() et la suivante List.pushleft()
Est-ce bien normal la "l" et "L" ?
2) avecpuis
Code : Sélectionner tout - Visualiser dans une fenêtre à part list = {}pas de soucis je constate bien la création de mes deux cases (first et last)
Code : Sélectionner tout - Visualiser dans une fenêtre à part list = list.new()
Impossible de faire fonctionner aucune des 4 autres (même en m'amusant à passer de petit "l" à grand "L" sur toutes les lignes)
3) si on prend le push left, comme toutes les variables s'appelent first c'est vraiment le bordel et j'ai pas réussi à modifier les noms pour mieux comprendre (et comme je ne parviens pas à faire fonctionner la fonction ca m'aide pas non plus).
Enfin bon je suis un peu pommé sur ce coup là ^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 local first = list.first - 1 --nouvelle var locale first égale à l'adresse mémoire de list.first - 1 (soit une case en arrière ok) list.first = first --assignation de la nouvelle adresse mémoire à list.first list[first] = value --on vient de changer son adresse mémoire donc .......
Merci beaucoup de votre aide !!
Partager