Le terme Anglais est: "Stateless iterator"
En informatique, stateless se rapporte à un système ou à un protocole qui ne garde pas un état persistant entre les transactions.
Un itérateur apatride, est donc un itérateur qui ne conserve aucun état par lui-même, ce qui permet d'éviter le coût de la création de nouvelles clotures.
A chaque itération, la boucle for appelle sa fonction itératrice avec deux arguments:
l'état invariant et la variable de contrôle.
Un itérateur apatride générera l'élément suivant pour l'itération en utilisant uniquement ces deux arguments.
Un exemple typique de ce genre d'itérateur est ipairs(), qui itère sur tous les éléments dans un tableau, comme illustré ci-dessous.
a = {"one", "two", "three"} for i, v in ipairs(a) do print(i, v) --> 1 one --> 2 two --> 3 three end