Fonctions sur les coroutines.
Lua fournit tout une gamme de fonctions sur les coroutines.
Pour obtenir plus de précisions sur une des fonctions présentes ci-desous, cliquez sur celle de votre choix.
Crée une coroutine.
local maCoroutine = coroutine.create( function()
.. Ici le corps de la coroutine ..
end)
Démarre l'exécution d'une coroutine.
local maCoroutine = coroutine.create(function()
return 6, 7
end)
print(coroutine.resume(maCoroutine))
--> true 6 7
Retourne la coroutine en cours d'exécution.
La fonction coroutine.running(), retourne la coroutine en cours d'exécution,
ou nil.
Retourne l'état de la coroutine.
Cette fonction, retourne l'état de la coroutine, sous forme d'une string:
"running" si elle fonctionne.
"suspended" si elle est en attente d'appel à yield, ou si elle n'a pas
encore commencé son travail.
"normal" si elle est active mais ne travaille pas (c'est à dire qu'elle
"resume" une autre coroutine).
"dead" si la coroutine a terminé son travail, ou si elle s'est arrêtée
avec une erreur.
Crée une nouvelle coroutine.
function perm (a)
local n = table.getn(a)
return coroutine.wrap(function() permgen(a, n) end)
end
wrap ne retourne pas la coroutine mais, une fonction qui, lorsqu'elle est
appelée, reprend la coroutine.
Suspend l'exécution de la coroutine.
La fonction coroutine.yield, autorise une reprise ultérieure de son
fonctionnement. Elle met en attente 'maCoroutine'.
maCoroutine = coroutine.create( function()
for i = 1, 10 do
print("maCoroutine", i)
coroutine.yield()
end
end)