=====Variablen===== Variablen in Lua werden mit dem Schlüsselwort local deklariert, um sie auf den lokalen Gültigkeitsbereich zu beschränken. Es gibt keine Typisierung bei Variablen – sie sind dynamisch typisiert. local name = "Welt" local age = 25 local pi = 3.14 Die Funktion print() wird verwendet, um Ausgaben auf der Konsole zu erzeugen. print("Hallo, " .. name .. "!") =====Kontrollstrukturen===== Bedingte Anweisungen local number = 10 if number > 0 then print("Die Zahl ist positiv.") elseif number < 0 then print("Die Zahl ist negativ.") else print("Die Zahl ist Null.") end =====Schleifen===== for-Schleife: for i = 1, 5 do print(i) end while-Schleife: local count = 1 while count <= 5 do print(count) count = count + 1 end repeat-until-Schleife: local count = 1 repeat print(count) count = count + 1 until count > 5 =====Funktionen===== Funktionen werden in Lua mit dem Schlüsselwort function definiert. function greet(name) return "Hallo, " .. name .. "!" end print(greet("Welt")) =====Tabellen===== Tabellen sind das Hauptdatenstruktur in Lua. Sie können als Arrays, Dictionaries oder beides verwendet werden. Erstellen und Verwenden von Tabellen -- Array Tabelle local fruits = {"Äpfel", "Bananen", "Kirschen"} print(fruits[1]) -- Ausgabe: Äpfel -- Dictionary Tabelle local person = { name = "John", age = 30 } print(person.name) -- Ausgabe: John print(person["age"]) -- Ausgabe: 30 Iterieren über Tabellen Array Tabelle: for i, fruit in ipairs(fruits) do print(i, fruit) end Dictionary Tabelle: for key, value in pairs(person) do print(key, value) end =====Metatabellen und Metamethoden===== Metatabellen ermöglichen es dir, das Verhalten von Tabellen zu ändern, indem du spezielle Metamethoden definierst. local mt = { __add = function(a, b) return a.value + b.value end } local a = { value = 5 } local b = { value = 10 } setmetatable(a, mt) setmetatable(b, mt) local sum = a + b print(sum) -- Ausgabe: 15 =====Fehlerbehandlung===== Fehler können mit pcall (protected call) oder xpcall (extended protected call) behandelt werden. function riskyFunction() error("Ein Fehler ist aufgetreten!") end local status, err = pcall(riskyFunction) if not status then print("Fehler: " .. err) end =====Module und Pakete===== Lua unterstützt Module und Pakete durch die require-Funktion. Beispiel für ein einfaches Modul (mymodule.lua): local M = {} function M.sayHello() print("Hallo aus dem Modul!") end return M Verwendung des Moduls: local mymodule = require("mymodule") mymodule.sayHello() -- Ausgabe: Hallo aus dem Modul!