8
votes

Popping le premier élément d'un tableau

J'ai un tableau x en Lua. Je voudrais définir tête = x [1] et repos = le reste de la matrice, de sorte que reste [1] = x [2] , repos [2] = x [3] , etc.

Comment puis-je faire cela?

(Remarque: je m'en fiche si le tableau d'origine devient muté. Dans JavaScript, je ferais tête = x.shift () et x contiendrait le reste éléments.)


0 commentaires

3 Réponses :



8
votes

vous voulez table.retirer code> :

local head,rest = numbers.val, numbers.rest


0 commentaires

0
votes

normalement en Lua l'action de l'insertion d'un élément x dans une séquence ...

EG: S = {A, B, C, D, E, F} à S = {A, B, C, X, D, E, F}

... est beaucoup de temps parce que D doit être déplacé vers l'index 5, e à l'index 6, etc.

y a-t-il une autre séquence de la forme S où s [a] = b, S [B] = C, S [C] = D, S [D] = E et S [E] = F? De cette façon, tout ce que vous avez à faire est de type:

s [c] = x S [x] = d

et boom, x est après c et avant D en seulement deux opérations.


1 commentaires

Récemment découvert que ce dont je parlais s'appelle une "liste liée".