_VERSION est-il la seule variable globale restante dans Lua 5.1?
-
02-07-2019 - |
Question
Intrigué par la documentation de Lua 5.0 faisant référence à des éléments tels que _LOADED
, LUA_PATH
, _ALERT
, etc. (que je ne pouvais pas utiliser dans Lua 5.1), j’ai découvert que tous ceux-ci ont été supprimés et que les fonctionnalités ont été mises ailleurs. Ai-je raison de penser que la seule variable globale restante dans Lua 5.1 est _VERSION
?
La solution
Les docs semblent penser que c'est presque le cas ....
_G Une variable globale (pas une fonction) qui contient l'environnement global (c'est-à-dire, _G._G = _G). Lua elle-même fait ne pas utiliser cette variable; changer sa la valeur n'affecte aucun environnement, ni inversement. (Utilisez setfenv pour changer environnements.)
Il semble qu'il y ait aussi _PROMPT et _PROMPT2, mais uniquement lors de l'utilisation interactive de lua autonome:
Si la variable globale _PROMPT contient une chaîne, alors sa valeur est utilisé comme invite. De même, si le la variable globale _PROMPT2 contient un chaîne, sa valeur est utilisée comme invite secondaire (émise pendant déclarations incomplètes). Donc, les deux invites peuvent être modifiées directement sur la ligne de commande ou dans n'importe quel Lua programmes en affectant à _PROMPT.
Autres conseils
En supposant que vous n'ouvriez pas aucune libs, il existe également _G
, paires
, ipairs
et newproxy
.