Je veux quitter l'exécution du script Lua à certaines conditions. Exemple :
content = get_content () sinon content alors - (Ici je veux une sorte de fonction de sortie) next_content = get_content () - exemple, il peut y avoir beaucoup de contrôles supplémentaires
Ici, je veux que si je n'obtiens pas de contenu, mon script suppose de se terminer ne doit pas aller au suivant.
extrait du lua api doc :
Pour des raisons syntaxiques, un saut ou un retour ne peut apparaître que comme la dernière instruction d'un bloc (en d'autres termes, comme la dernière instruction de votre bloc ou juste avant une fin, un autre ou un jusqu'à). Par exemple, dans l'exemple suivant, break est la dernière instruction du bloc then.
local i = 1
while a[i] do
if a[i] == v then break end
i = i + 1
end
Habituellement, ce sont les endroits où nous utilisons ces déclarations, car toute autre déclaration qui les suit est inaccessible. Parfois, cependant, il peut être utile d'écrire un retour (ou une pause) au milieu d'un bloc; par exemple, si vous déboguez une fonction et que vous souhaitez éviter son exécution. Dans de tels cas, vous pouvez utiliser un bloc do explicite autour de l'instruction:
function foo ()
return --<< SYNTAX ERROR
-- `return' is the last statement in the next block
do return end -- OK
... -- statements not reached
end
Utilisez os.exit()
ou simplement return
à partir d'une fonction "principale" si votre script est intégré.
os.exit()
tuer le processus en envoyant un signal
do return end
arrêter l'exécution
Les deux méthodes ne sont pas égales si vous voulez écrire et exécuter du luacode dans l'interpréteur après avoir arrêté l'exécution en lançant votre programme en utilisant le -i
drapeau.
th -i main.lua
Dans lua 5.2.0-beta-rc1 +, vous pouvez ajouter une étiquette à la fin de votre code appelée ::exit::
ou quelque chose de similaire, puis chaque fois que vous devez quitter le programme, appelez-le comme ceci:
goto exit