Voici deonc deux class Arrays, dont Loop est l'extention de Array2 ;
Array2 possède simplement un first() revoyant le premier element d'un tableat et last() renvoyant le dernier.
Jusque la basique :
Loop quand à elle est une Array "fermée" avec un index de value en cours ;
Bref, voir le Zip...
MX2004 !!!!
Source / Exemple :
import hopeMultimedias.array.Loop;
maLoop = new Loop ("0:A", "1:B", "2:C", "3:D", "4:E", "5:F");
Vous verrez donc dans la fenetre de sortie :
Propriété en lecture-écriture
_index
maLoop._index = 4, renverra 4
maLoop._index -= 15, renverra 1
maLoop._index += 13, renverra 2
--------------------------
Propriété en lecture seule
_nextIndex
maLoop._nextIndex, renverra 3
ATTENTION :
_nextIndex ne change pas l'index mais renvoie ce que sera l'index, pour preuve : maLoop._index, renverra 2
--------------------------
Propriété en lecture seule
_prevIndex
maLoop._prevIndex, renverra 1
ATTENTION :
_prevIndex ne change pas l'index mais renvoie ce que sera l'index précédent, pour preuve : maLoop._index, renverra 2
--------------------------
Function :
value ()
Renvoie la value sans changer l'index :
maLoop.value () renvoie 2:C
value( n ) avec un argument équivaut à : _index + n
maLoop.value (2) renvoie 4:E
maLoop.value (-3) renvoie 5:F
maLoop.value() renvoyant toujours 2:C
--------------------------
Fonction :
next()
Renvoie la prochaine value sans changer l'index :
maLoop.next() renvoie 3:D
ATTENTION :
next() ne change pas l'index pour preuve : maLoop.value() renvoyant :2:C !
--------------------------
Fonction :
prev ()
Renvoie la value précédente sans changer l'index :
maLoop.prev() renvoie 1:B
ATTENTION :
prev() ne change pas l'index pour preuve : maLoop.value() renvoyant :2:C !
--------------------------
Fonction :
first ()
Renvoie la première value du tableau sans changer l'index :
maLoop.first() renvoie 0:A
ATTENTION :
first() ne change pas l'index pour preuve : maLoop.value() renvoyant :2:C !
--------------------------
Fonction :
last ()
Renvoie la dernère value du tableau sans changer l'index :
maLoop.last() renvoie 5:F
ATTENTION :
last() ne change pas l'index pour preuve : maLoop.value() renvoyant :2:C !
--------------------------
Function :
getNext ()
Augmente l'index de 1 et renvoie la nouvelle value :
maLoop.getNext() renvoie 3:D
ATTENTION :
getNext() change l'index pour preuve : maLoop._index renvoyant : 3 !
--------------------------
Function :
getPrev ()
Diminue l'index de 1 et renvoie la nouvelle value :
maLoop.getNext() renvoie 2:C
ATTENTION : getPrev() change l'index pour preuve : maLoop._index renvoyant : 2 !
--------------------------
Toutes ceci n'influant pas sur la longueur du tableau, pour preuve : maLoop.length = 6