Kurz: 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.
Teil des Kurses Lua
Was ist Lua?
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. Du findest sie in Spielen (Roblox, World of Warcraft-Addons, Love2D, Garry’s Mod), in Neovim-Konfigurationen, in Redis, nginx/OpenResty, Wireshark und in vielen Embedded-Geräten.
Lua hat nur wenige, aber sehr flexible Konzepte: eine einzige Datenstruktur (die Tabelle), Funktionen als Werte und Coroutinen.
Ausführen
lua hallo.lua # Datei
lua -e "print(1 + 2)" # eine Zeile
lua # interaktive KonsoleDas erste Programm
hallo.lua
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 altprintgibt Werte mit Tab getrennt aus,io.writeohne Trennzeichen..verbindet Strings- Kommentare:
-- bis Zeilenende,--[[ mehrzeilig ]] - Anweisungen brauchen kein Semikolon
Wie Lua tickt
-- Lua zählt ab 1, nicht ab 0
local liste = {"a", "b", "c"}
print(liste[1], #liste)
-- nil ist "kein Wert"; nur nil und false sind falsch (0 und "" sind wahr!)
print(0 and "wahr" or "falsch")
print(nil and "wahr" or "falsch")
-- Funktionen sind Werte
local f = function(x) return x * 2 end
print(f(21))
-- Mehrfachzuweisung und Tausch
local a, b = 1, 2
a, b = b, a
print(a, b)
-- Typ prüfen
print(type(42), type("x"), type({}), type(print), type(nil), type(true))Ausgabe:
a 3
wahr
falsch
42
2 1
number string table function nil booleanMerke
- Lua ist klein, schnell und einbettbar
- Alles läuft über Tabellen und Funktionen
- Indizes beginnen bei 1
- Nur
nilundfalsesind falsch ..verkettet,printundio.writegeben aus
Übungsaufgabe
Gib mit print einen Satz mit deinem Namen und deinem Lieblingsprogramm aus, verbunden mit ...
Quiz zur Selbstkontrolle
Bei welchem Index beginnt eine Lua-Tabelle als Liste?
- 1 (richtig)
- 0
- -1
- 2
Welche Werte sind in Lua falsch?
- nil und false (richtig)
- 0 und ""
- nur false
- nil, false und 0
Wofür wird Lua oft eingesetzt?
- Als eingebettete Skriptsprache in Spielen und Anwendungen (richtig)
- Nur für Betriebssysteme
- Nur für Datenbanken
- Nur für Webbrowser
Weiter im Kurs
Weiter: Variablen und Datentypen
Alle Kapitel: Lua im Überblick