Ist _version die einzige globale Variable links in Lua 5.1?
-
02-07-2019 - |
Frage
Verwirrt durch die Lua 5.0-Dokumentation Verweise auf Dinge wie _LOADED
, LUA_PATH
, _ALERT
und so weiter (die ich nicht in Lua 5.1 verwenden könnte), entdeckte ich all jene, entfernt wurden und die Funktionalität an anderer Stelle setzen. Bin ich recht in der Annahme, dass die einzige globale Variable in Lua links 5.1 _VERSION
ist?
Lösung
Die docs scheinen zu denken, das ist fast der Fall ....
_G Eine globale Variable (keine Funktion), die die globale Umwelt hält (Das heißt, _G._G = _G). Lua selbst tut Verwenden Sie diese Variable nicht; Änderung seiner Wert hat keine Auswirkung auf Umwelt, oder umgekehrt. (Verwenden Sie setfenv sich ändern Umgebungen.)
Es sieht aus wie auch gibt es _PROMPT und _PROMPT2, aber nur bei Verwendung von Standalone-lua interaktiv:
Wenn die globale Variable _PROMPT enthält eine Zeichenfolge, dann sein Wert ist als die prompte verwendet. Und falls die globale Variable _PROMPT2 enthält ein string, wird ihr Wert als die verwendeten Sekundäraufforderung (ausgegeben während unvollständige Angaben). Deshalb, beide Aufforderungen können direkt geändert werden in der Befehlszeile oder in jedem Lua Programme zu _PROMPT zuweisen.
Andere Tipps
Angenommen, Sie lassen sich nicht öffnen jeder Libs, gibt es auch _G
, pairs
, ipairs
und newproxy
.