_VERSION è l'unica variabile globale rimasta in Lua 5.1?
-
02-07-2019 - |
Domanda
Perplesso dai riferimenti alla documentazione di Lua 5.0 su cose come _LOADED
, LUA_PATH
, _ALERT
e così via (che non potevo usare in Lua 5.1), ho scoperto che tutti quelli sono stati rimossi e la funzionalità messa altrove. Ho ragione nel pensare che l'unica variabile globale rimasta in Lua 5.1 sia _VERSION
?
Soluzione
I documenti sembrano pensare che sia quasi il caso ....
_G Una variabile globale (non una funzione) che contiene l'ambiente globale (ovvero _G._G = _G). Lua stessa non usare questa variabile; cambiando il suo il valore non influenza alcun ambiente, né viceversa. (Usa setfenv per cambiare ambienti.)
Sembra che ci siano anche _PROMPT e _PROMPT2, ma solo quando si utilizza interattivamente lua autonomamente:
Se la variabile globale _PROMPT contiene una stringa, quindi il suo valore è usato come prompt. Allo stesso modo, se il la variabile globale _PROMPT2 contiene a stringa, il suo valore viene utilizzato come prompt secondario (emesso durante dichiarazioni incomplete). Perciò, entrambi i prompt possono essere modificati direttamente dalla riga di comando o in qualsiasi Lua programmi assegnando a _PROMPT.
Altri suggerimenti
Supponendo che tu non apra qualsiasi librerie, ci sono anche _G
, coppie
, ipairs
e newproxy
.