Als du Lua geöffnet hast und dachtest: „Warte, wo sind die geschweiften Klammern?“
Es gibt Sprachen, bei denen man am liebsten den Laptop schließen und auf dem Dorf die Kühe hüten möchte. Und es gibt Lua - eine Sprache, die dich wie ein alter Freund begrüßt: ohne unnötige Zeremonien, ohne fünfstöckige Konstruktionen und ohne das Gefühl, dass du versehentlich die Dissertation eines anderen über Quantenphysik geöffnet hast.
Wenn du jemals World of Warcraft, Roblox oder einen Mod auf Garry's Mod gespielt hast, herzlichen Glückwunsch, du hast Lua bereits indirekt verwendet. Diese Sprache ist buchstäblich überall dort, wo man etwas schnell skripten muss, ohne eine Raumstation aus Abhängigkeiten aufzubauen.

Schritt 0: Installation (Spoiler - das geht schnell)
Lua ist eine der am einfachsten zu installierenden Sprachen. Keine Gigabyte-SDKs, kein „Bitte aktualisieren Sie Ihre Java-Version auf 847.3“.
Auf Linux/macOS:
# Ubuntu/Debian
sudo apt install lua5.4
# macOS (über Homebrew)
brew install luaUnter Windows:
LuaBinaries herunterladen von der offiziellen Website oder durch Scoop setzen:
scoop install luaWir überprüfen, ob alles funktioniert:
lua -vWenn etwas wie Lua 5.4.7 als Antwort kam, bist du im Geschäft. Wenn nicht, dann ist es ein Klassiker, überprüfen Sie den PATH.
Schritt 1: Hello, World! (Einweihungsritual)
Erstellen Sie die Datei hello.lua und schreiben Sie:
print("Hello, World!")Starten:
lua hello.luaAlles. Ein. Ein einziger Anruf. Ohne public static void main, ohne import, ohne #include <iostream>. Lua respektiert deine Zeit.
Zum Vergleich hier das gleiche in Java:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}Lua sieht das so:
„Bruder, warum so viele Buchstaben? print() und lass uns weitermachen.“
Schritt 2: Variablen — einfach schreiben und das war's
In Lua müssen Sie den Variablentyp nicht deklarieren. Keine int, string, float. Lua wird es selbst herausfinden:
name = "Alexey"
age = 25
is_developer = true
print(name) -- Алексей
print(type(age)) -- number
print(type(name)) -- stringLokale Variablen werden über local deklariert - und das gilt als gute Manieren:
local score = 100
local player = "Hero"Warum local? Denn ohne sie wird die Variable global, und globale Variablen in einem großen Projekt sind wie das Hinterlegen von Wohnungsschlüsseln unter der Fußmatte. Es scheint bequem zu sein, aber dann werden Sie überrascht sein.
Schritt 3: Bedingungen — if, elseif, else, end
local hp = 30
if hp > 50 then
print("Everything is fine, we continue to fight")
elseif hp > 0 then
print("Be careful, HP is running out!")
else
print("Game Over. Respawn in 5 seconds")
endBitte beachte: Statt { und } — then und end. Es ist zunächst ungewohnt, aber dann wirst du feststellen, dass es sich noch besser lesen lässt. Lua liebt Wörter, keine Zeichen.
Ein weiterer Punkt ist, dass es in Lua kein != gibt. Stattdessen wird ~= verwendet:
if name ~= "Admin" then
print("Access denied")
endJa, Tilda. Nimm es einfach an.
Schritt 4: Zyklen – drehen und wenden
while:
local i = 1
while i <= 5 do
print("Iteration: " .. i)
i = i + 1
endÜbrigens ist .. eine Verkettung von Strings in Lua. Nicht +, nicht concat(), sondern nur zwei Punkte.
for:
for i = 1, 5 do
print("Step " .. i)
endCODE_BLOCK_12__for-in (für Tabellen):
local fruits = {"apple", "banana", "mango"}
for index, fruit in ipairs(fruits) do
print(index .. ". " .. fruit)
endSchritt 5: Funktionen — Schreiben Sie Ihre eigenen Befehle
local function greet(name)
return "Hi, " .. name .. "! Welcome to Lua"
end
print(greet("Maria"))Funktionen in Lua sind first-class citizens. Sie können in Variablen gespeichert, als Argumente übergeben und von anderen Funktionen zurückgegeben werden. Im Allgemeinen ist die funktionale Programmierung hier nicht nur in Worten:
local function apply(func, value)
return func(value)
end
local function double(x)
return x * 2
end
print(apply(double, 21)) -- 4242 ist die Antwort auf alles. Zufall? Ich glaube nicht.
Schritt 6: Tabellen - das Herz von Lua
Hier beginnt die Magie. In Lua gibt es keine Arrays, keine Objekte, keine Wörterbücher. Aber es gibt Tabellen — eine universelle Datenstruktur, die alles ersetzt:
-- Как массив
local colors = {"Red", "Green", "Blue"}
print(colors[1]) -- красный (индексация с 1!)
-- Как словарь
local player = {
name = "Warrior",
hp = 100,
level = 5
}
print(player.name) -- Warrior
print(player["hp"]) -- 100
-- Как объект с методами
function player:takeDamage(damage)
self.hp = self.hp - damage
print(self.name .. " received " .. damage .. " damage. HP: " .. self.hp)
end
player:takeDamage(25) -- Warrior получил 25 урона. HP: 75Wichtiger Punkt: Die Indexierung in Lua beginnt bei 1, nicht bei 0. Ja, das ist genau das Detail, das bei Ihnen eine existenzielle Krise auslösen wird, wenn Sie an JavaScript oder Python gewöhnt sind. Aber Sie werden sich daran gewöhnen.
Schritt 7: Mini-Projekt - Text-Quest
Es ist Zeit, alles zusammenzufügen. Hier ist ein kleines Textspiel für dich:
local function game()
print("=============================")
print(" CODE DUNGEON")
print("=============================")
print("")
print("You are standing in front of the entrance to a dark cave.")
print("A strange noise is heard inside...")
print("")
print("What are you doing?")
print("1 - Enter the cave")
print("2 - You go home to drink tea")
print("")
io.write("Your choice: ")
local choice = io.read()
if choice == "1" then
print("")
print("You enter and find... an ancient laptop!")
print("A file with Lua code is open on the screen.")
print("You start reading... and you become a programmer!")
print("")
print("🏆 VICTORY! +100 to programming skill")
elseif choice == "2" then
print("")
print("A wise choice. Tea is also important.")
print("But the cave will be waiting for you...")
print("")
print("☕ END. But you can always come back!")
else
print("")
print("Unknown command. The cave is confused.")
print("Try again!")
end
end
game()Speichere es in quest.lua, starte lua quest.lua - und herzlichen Glückwunsch, du hast gerade dein erstes Spiel in Lua geschrieben.
Was nun?
Lua ist eine Sprache, die dir die Türen zu GameDev (Love2D, Defold, Roblox), zur Embedded-Entwicklung, zum Schreiben von Plugins und Skripten für bestehende Anwendungen öffnet. Sie ist leicht, schnell und gleichzeitig erstaunlich leistungsstark.
Hier sind einige Richtungen, in die Sie sich bewegen können:
Roblox Studio — wenn du Spiele machen und damit Geld verdienen willst
Love2D — minimalistische 2D-Engine für Indie-Spiele
Neovim — Konfiguration und Plugins werden in Lua geschrieben
OpenResty/Nginx — Lua für hoch ausgelastete Webserver
Embedded/IoT - Lua funktioniert hervorragend auf Mikrocontrollern (NodeMCU, ESP8266)
Wenn dir dieses Format gefällt und du weitermachen möchtest, schau in Kodik. Mit dieser App kannst du von Grund auf programmieren lernen: von Python und JavaScript bis hin zu HTML, CSS und anderen Technologien. Keine trockene Theorie auf 200 Seiten - nur verständliche Lektionen mit Praxis, nach denen Sie wirklich verstehen, was Sie geschrieben haben und warum.
Kodik wurde speziell für diejenigen entwickelt, die in ihrem eigenen Tempo, von ihrem Telefon oder Computer aus lernen möchten — ohne an einen Zeitplan und lange Kurse gebunden zu sein.
Und wir haben auch Telegram-Kanal mit einer Community von über 2000 Entwicklern, in der regelmäßig nützliche Beiträge zum Programmieren, Aufgabenanalysen und Neuigkeiten aus der Welt der Entwicklung veröffentlicht werden. Dies ist eine großartige Möglichkeit, das Material zu wiederholen und auf dem Laufenden zu bleiben - auch wenn Sie in der Schlange für Kaffee stehen.
Insgesamt
Lua ist ein seltener Fall, in dem eine Programmiersprache nicht versucht, dich einzuschüchtern. Sie ist minimalistisch, logisch und ermöglicht es dir, von den ersten Minuten an, in denen du dich mit ihr vertraut machst, einen funktionierenden Code zu schreiben. Wenn du schon lange etwas Neues ausprobieren wolltest oder einen einfachen Einstieg in die Programmierung suchst, ist Lua eine gute Wahl.
