gibt es irgendwelche Keywords wie const oder etwas anderes, das macht die gleiche Arbeit mit es in lua?
Gibt es eine const-Schlüsselwort in lua ? Oder andere ähnliche Sache? Weil ich will, um zu definieren, meine Variablen als const und verhindern, ändern Sie den Wert der Variablen.
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lua hat nicht support Konstanten automatisch, aber Sie können diese Funktionalität hinzufügen. Zum Beispiel, indem Sie Ihre Konstanten in einer Tabelle, und die Tabelle nur-Lesen-mit metatable.
Hier ist, wie es zu tun: http://andrejs-cainikovs.blogspot.se/2009/05/lua-constants.html
Die Komplikation ist, dass die Namen der Konstanten werden nicht nur "A" und "B", sondern so etwas wie "KONSTANTEN.Eine" und " - KONSTANTEN.B". Sie können entscheiden, um alle Ihre Konstanten in einer Tabelle, oder gruppieren Sie logisch in mehrere Tabellen, zum Beispiel "MATH.E" und "MATH.PI" für mathematische Konstanten, etc.
_ENV
- und/oder_G
zu einem nur-lese-Tabelle zu simulieren Globale Konstanten (auf Kosten der performance.)Wie bereits erwähnt gibt es keine
const
im Lua.Können Sie mithilfe dieses kleinen workaround zu 'schützen' Global definierten Variablen (im Gegensatz zu geschützten Tabellen):
Gibt es keine
const
Schlüsselwort in Lua oder ähnliches konstruieren.Die einfachste Lösung ist das schreiben einer großen Vorsicht in einem Kommentar, zu sagen, dass es verboten ist, zu schreiben auf diese variable...
Es ist jedoch technisch möglich, zu verbieten, zu schreiben (oder zu Lesen) zu einer globalen variable, indem Sie eine metatable der globalen Umwelt
_G
(oder_ENV
in Lua 5.2).Etwas wie dieses:
Dann, wenn Sie versuchen, zuweisen etwas zu
foo
ist, wird ein Fehler geworfen.