MoveElement

Commande de liste

Syntaxe

Déplace l'élément courant ailleurs dans la même liste. Il reste l'élément courant.

MoveElement(<list>(), <where> [, <position>])

Les éléments

<list>Une liste déclarée avec NewList, écrite avec ses parenthèses vides : scores().
<where>#AK_LIST_FIRST (au début), #AK_LIST_LAST (à la fin), #AK_LIST_BEFORE ou #AK_LIST_AFTER (avant ou après l'élément situé à <position>).
<position>Obligatoire avec #AK_LIST_BEFORE et #AK_LIST_AFTER, ignoré sinon. La position de l'élément de référence, comptée avant le déplacement.

À savoir

  • Ne renvoie rien : écrivez-le seul sur sa ligne.
  • Sans élément courant, le programme s'arrête avec « MoveElement requires a current list element ». Un <where> inconnu ou une <position> hors de la liste l'arrêtent aussi.
  • Omettre <position> avec #AK_LIST_BEFORE ou #AK_LIST_AFTER compile, puis arrête le programme ET perd l'élément courant : il est retiré de la liste et n'y revient jamais. Donnez toujours la position.
  • Pour qui vient de PureBasic : l'élément de référence est une position, pas un pointeur d'élément.

Exemple

NewList a.integer()FOR k = 1 TO 5  AddElement(a())  a() = kNEXTSelectElement(a(), 4)MoveElement(a(), #AK_LIST_BEFORE, 1)Console(Str(a()) + " at " + Str(ListIndex(a())))   ' 5 at 1FOREACH a()  Console(Str(a()))   ' 1, 5, 2, 3, 4NEXT
Dans le manuel : Tableaux, listes et maps