Kurz: Klein, schnell und als Skriptsprache eingebettet.
Genauer: Lua wird eingesetzt für Spiele (Roblox, Love2D, Mods), eingebettete Skripte, Konfiguration, Neovim-Plugins. Lua (portugiesisch für “Mond”) entstand 1993 an der PUC-Rio in Brasilien. Die Sprache ist winzig (der Interpreter hat wenige hundert KB), schnell und für die Einbettung in andere Programme gemacht.
Steckbrief
| Eigenschaft | Wert |
|---|---|
| Erschienen | 1993 |
| Entwickelt von | Roberto Ierusalimschy u. a. (PUC-Rio) |
| Paradigmen | imperativ, funktional, prototypbasiert |
| Typisierung | dynamisch |
| Ausführung | Bytecode-VM (leicht einbettbar) |
| Paketverwaltung | LuaRocks |
| Dateiendung | .lua |
| Sprachfamilie | Skriptsprachen |
Einsatzgebiete
Spiele (Roblox, Love2D, Mods), eingebettete Skripte, Konfiguration, Neovim-Plugins.
So führst du Code aus
Datei hallo.lua speichern und mit lua hallo.lua starten. Online geht es z. B. im Lua Demo (lua.org/demo.html).
Das erste Programm
print("Hallo Lua!")
local name = "Mia"
print("Hallo, " .. name .. "!")
print("Zahl:", 42, "Wahrheitswert:", true)
io.write("ohne Zeilenumbruch")
io.write("\n")
print(string.format("%s ist %d Jahre alt", name, 17))Ausgabe:
Hallo Lua!
Hallo, Mia!
Zahl: 42 Wahrheitswert: true
ohne Zeilenumbruch
Mia ist 17 Jahre altDer Kurs: 8 Kapitel
Jedes Kapitel enthält geprüfte Beispiele mit echter Ausgabe, Merksätze, eine Übungsaufgabe und ein Quiz. Zum Üben mit Fortschrittsanzeige, Abzeichen und Zertifikat: Lua-Kurs auf der Lernseite.
Kapitel
- Einführung und erstes Programm
- Variablen und Datentypen
- Kontrollfluss und Funktionen
- String-Funktionen und Muster
- Fehler, Module und Coroutinen
Datenstrukturen
Fortgeschritten
Nachschlagen
Ähnliche Sprachen
- Python: Lesbar, vielseitig, ideal zum Einstieg
- JavaScript: Die Sprache des Webs, im Browser und auf dem Server
- Tcl: Einfache Skriptsprache, bei der alles ein String ist
Siehe auch
Programmiersprachen im Überblick, Sprachen im Vergleich, Zeitstrahl der Programmiersprachen, Programmierparadigmen, Kompiliert oder interpretiert?