WikiDer > Lua (Programmiersprache)
lua | ||||
| Paradigma | Multiparadigma, funktional | |||
| erschien | 1993 | |||
| Entworfen von | R. Ierusalimschy, W. Celes, L. Henrique de Figueiredo | |||
| Aktuelle Version | 5.4 (29. Juni 2020) | |||
| Typensystem | dynamisch, Ente tippen | |||
| Beeinflusst von | planen, Symbol | |||
| Einfluss auf | Io, Eichhörnchen, dao | |||
| Betriebssystem | Multiplattform | |||
| Lizenz | MIT-Lizenz (Version 5.0) | |||
| Webseite | http://www.lua.org/ | |||
| ||||
lua (LOE-ah, Mond im Portugiesisch) ist ein dynamisch typisiertImperativSkriptsprache was einer integrierten Skriptsprache ähnelt Anwendungen verwendet, kann aber auch separat verwendet werden. Die Skripte laufen auf a virtuelle Maschine mit Müllabfuhr. Die Sprache hat ein einfaches Syntax mit etwas primitive Typen (wie boolesch, Doppel und Saiten) und Tabellen im Wesentlichen assoziative Arrays, mit dem das bekannte Datenstrukturen wie Arrays, Listen und Hash-Maps aufgebaut werden kann.
Die Sprache wurde von Roberto Ierusalimschy, Waldemar Celes und Luiz Henrique de Figueiredo an der PUC-Rio zu Rio de Janeiro, Brasilien. Die Versionen bis Version 5.0 werden unter einer ähnlichen Lizenz veröffentlicht wie die BSD-Lizenz. Ab Version 5.0 ist Lua unter dem MIT-Lizenz.
Eigenschaften
Lua ist ein Multiparadigmen-Programmiersprache wo nicht alle Arten von Sprachkonstruktionen eingebaut sind, die aber mit den vorhandenen Sprachkonstruktionen möglich sind. Die Sprache kann so gewissermaßen erweitert werden, indem man vorhandene Sprachkonstruktionen in einer bestimmten Weise nutzt. Lua bietet beispielsweise keine integrierte Unterstützung für Erbe aber es ist möglich dies mit Metatabellen zu simulieren. Ebenso Programmierer Namensräume und Klassen mit den Tabellen in Lua implementieren. Es ist auch möglich, viele Techniken aus dem funktionale Programmierung um die Funktionen in Lua zu verwenden. Als Ergebnis zwingt die Sprache den Programmierer nicht in ein bestimmtes Paradigma.
Infolgedessen ist Lua nicht so groß (die Dolmetscher ist nach der Kompilierung etwa 150 Kilobyte groß) und die Sprache kann erweitert werden, um in allen Arten von spezifischen verwendet zu werden Anwendungen.
Operation
Code geschrieben in Lua wird nicht direkt interpretiert aber es wird zusammengestellt zu Byte-Code die dann von der ausgeführt wird virtuelle Maschine von Lua. Das Kompilieren findet während der Programmausführung statt und ist für den Benutzer in der Regel nicht wahrnehmbar. Es ist auch möglich, dies im Voraus zu tun, um den Speicherverbrauch und die Rechenzeit zu reduzieren.
Beispiele
Es Hallo WeltProgramm in Lua ist:
drucken("Hallo Welt!")Berechnung der Fakultät von nein:
FunktionFakultät(nein)wennnein==0dannRückkehr1sonstRückkehrnein*Fakultät(nein-1)EndeEndeEine Zufallszahl zwischen 1 und einer Zahl in a . nehmen Variable:
lokalmax=5math.zufällig(1,max)Benutzen
Computerspiele
Lua wird oft verwendet in Computerspiele für die Spiellogik wie Absturz und die Interaktion mit dem Spiel. Mit Lua kann diese Logik von den Entwicklern leicht modifiziert werden, ohne dass dies wiederholt werden muss Spiel-Engine haben kompilieren, was manchmal Stunden dauern kann. Außerdem ist Lua nach der Kompilierung nicht mehr so groß, praktisch so schnell, wie es in die Spiel-Engine selbst einprogrammiert worden wäre und steht unter dem MIT-Lizenz verfügbar. Lua ist auch die Programmiersprache des beliebten Spiels Roblox.
Conky
Conky ist ein Programm, das Systeminformationen auf Desktops von Linux- und BSDSysteme. Lua-Skripte können mit Hilfe von Conky verwendet werden, um Informationen von Websites auf dem Desktop anzuzeigen.
Externe Links
- (und) Lua-Website
- (und) Lua 5.2 Referenzhandbuch
| Programmiersprachen |
|---|
ABAP ·ABC ·ActionScript ·ada ·algol ·APL ·Assemblersprachen ·AWK ·B ·BASIC ·BCPL ·C ·C ·C♯ ·sauber ·Schermaschine ·COBOL ·COMAL ·Curry ·d ·Eiffel ·Erlang ·F♯ ·her ·fortran ·gehen ·Haskell ·Symbol ·J ·Java ·Kotlin ·lispeln ·Logo ·lua ·m4 ·ML ·Modula-2 ·Oberon ·Objekt Pascal ·Ziel c ·Ocamli ·Unze ·Pascal ·perl ·PHP ·PL/I ·PL/SQL ·Prolog ·Prova ·Python ·Rexx ·Rollenspiel ·Rubin ·Frieden ·SAS ·Reichweite ·planen ·Selbst ·Simula ·Smalltalk ·Schnell ·TCL ·Typoskript ·vala ·Visual Basic |