Lua: Unterschied zwischen den Versionen
Dirk (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung Markierung: Zurückgesetzt |
Dirk (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung Markierung: Manuelle Zurücksetzung |
||
Zeile 2: | Zeile 2: | ||
Lua ist eine sehr schnelle, leicht erlernbare, gut integrierbare, und durch Module sehr umfangreich erweiterbare Scriptsprache. Die offizielle Implementation ist in {{wikipedia|Varianten_der_Programmiersprache_C#C89,_C90|ANSI C}} geschrieben. Da sich Lua problemlos in andere Programme integrieren lässt, wird es häufig als Programmiersprache für Plugins und Mods, oder zur Konfiguration benutzt. | Lua ist eine sehr schnelle, leicht erlernbare, gut integrierbare, und durch Module sehr umfangreich erweiterbare Scriptsprache. Die offizielle Implementation ist in {{wikipedia|Varianten_der_Programmiersprache_C#C89,_C90|ANSI C}} geschrieben. Da sich Lua problemlos in andere Programme integrieren lässt, wird es häufig als Programmiersprache für Plugins und Mods, oder zur Konfiguration benutzt. | ||
= Installation = | == Installation == | ||
Die aktuellste Version von {{installation | Die aktuellste Version von {{installation | ||
|noheading=1 | |noheading=1 | ||
Zeile 12: | Zeile 12: | ||
Zusätzlich zur aktuellen Version sind noch die Versionen {{paket|lua51|5.1}}, {{paket|lua52|5.2}}, und {{paket|lua53|5.3}} als Pakete verfügbar. LuaJIT unterstützt alle Bibliotheksfunktionen und das komplette Set der Lua/C-API-Funktionen bis zu Version 5.1. | Zusätzlich zur aktuellen Version sind noch die Versionen {{paket|lua51|5.1}}, {{paket|lua52|5.2}}, und {{paket|lua53|5.3}} als Pakete verfügbar. LuaJIT unterstützt alle Bibliotheksfunktionen und das komplette Set der Lua/C-API-Funktionen bis zu Version 5.1. | ||
= Benutzung = | == Benutzung == | ||
Um ein alleinstehendes Lua-Script auszuführen, übergibt man dies einfach dem Interpreter. | Um ein alleinstehendes Lua-Script auszuführen, übergibt man dies einfach dem Interpreter. | ||
Zeile 29: | Zeile 29: | ||
[hier der Code] | [hier der Code] | ||
= Ein kleines Beispielprogramm = | == Ein kleines Beispielprogramm == | ||
Für einen Kurzüberblick der auf einzelne Elemente etwas detaillierter Eingeht, sei auf die [[Lua/Syntax|Kurzübersicht über die Lua-Syntax]] hier im Wiki verwiesen. | Für einen Kurzüberblick der auf einzelne Elemente etwas detaillierter Eingeht, sei auf die [[Lua/Syntax|Kurzübersicht über die Lua-Syntax]] hier im Wiki verwiesen. | ||
Zeile 36: | Zeile 36: | ||
}} | }} | ||
= Implementationsbeispiele = | == Implementationsbeispiele == | ||
Da Lua als Script- oder Konfigurationssprache sehr weit verbreitet ist, seien hier nur einige wenige Beispiele genannt. | Da Lua als Script- oder Konfigurationssprache sehr weit verbreitet ist, seien hier nur einige wenige Beispiele genannt. | ||
Zeile 49: | Zeile 49: | ||
In der englsichen Wikipedia gibt es (sicherlich unvollständige) Listen von [https://en.wikipedia.org/wiki/List_of_applications_using_Lua Anwendungen] {{sprache|en}} und [https://en.wikipedia.org/wiki/Category:Lua_(programming_language)-scripted_video_games Spielen] {{sprache|en}} die auf die eine oder andere Art und Weise Lua nutzen. | In der englsichen Wikipedia gibt es (sicherlich unvollständige) Listen von [https://en.wikipedia.org/wiki/List_of_applications_using_Lua Anwendungen] {{sprache|en}} und [https://en.wikipedia.org/wiki/Category:Lua_(programming_language)-scripted_video_games Spielen] {{sprache|en}} die auf die eine oder andere Art und Weise Lua nutzen. | ||
= Siehe auch = | == Siehe auch == | ||
* Der Lua-Paketmanager {{Paket|luarocks|Luarocks}} | * Der Lua-Paketmanager {{Paket|luarocks|Luarocks}} | ||
* Diverse Module [https://archlinux.org/packages/?&q=lua- in dem Repos] und [https://aur.archlinux.org/packages?K=lua- im AUR] | * Diverse Module [https://archlinux.org/packages/?&q=lua- in dem Repos] und [https://aur.archlinux.org/packages?K=lua- im AUR] | ||
= Weblinks = | == Weblinks == | ||
* [https://www.lua.org/ Offizielle Website] {{sprache|en}} | * [https://www.lua.org/ Offizielle Website] {{sprache|en}} | ||
* [https://www.lua.org/manual/5.1/de/ Deutsche Anleitung für Lua 5.1] {{sprache|de}} | * [https://www.lua.org/manual/5.1/de/ Deutsche Anleitung für Lua 5.1] {{sprache|de}} |
Version vom 5. Februar 2025, 09:46 Uhr
„Lua“ wurde von Dirk (Diskussion) als in Bearbeitung markiert. Um Bearbeitungskonflikte zu vermeiden, kontaktiere Dirk (Diskussion) bitte, bevor du den Artikel bearbeitest.
Dieser Artikel oder Artikelabschnitt ist noch nicht vollständig!
Lua ist eine sehr schnelle, leicht erlernbare, gut integrierbare, und durch Module sehr umfangreich erweiterbare Scriptsprache. Die offizielle Implementation ist in ANSI C geschrieben. Da sich Lua problemlos in andere Programme integrieren lässt, wird es häufig als Programmiersprache für Plugins und Mods, oder zur Konfiguration benutzt.
Installation
Die aktuellste Version von
Lua ist als
lua
in extra
verfügbar, und kann von dort
mittels Pacman
installiert werden.
pacman -S lua
# Just-In-Time-Compiler für Lua-5.1-Scripts
pacman -S luajit
Zusätzlich zur aktuellen Version sind noch die Versionen 5.1, 5.2, und 5.3 als Pakete verfügbar. LuaJIT unterstützt alle Bibliotheksfunktionen und das komplette Set der Lua/C-API-Funktionen bis zu Version 5.1.
Benutzung
Um ein alleinstehendes Lua-Script auszuführen, übergibt man dies einfach dem Interpreter.
lua mein_script.lua lua5.2 mein_script.lua parameter1 parameter2 ... luajit mein_script.lua
Zuerst wird das Script mit der aktuellen Version so ausgeführt, wie es ist. Danach wird das Script mit Version 5.2 des Lua-Interpreters ausgeführt, dabei werden auch parameter übergeben, auf die innerhalb des Scripts im Programmablauf zugegriffen werden kann. Am Schluss wird das Script an LuaJIT übergeben, dieses kompiliert das Script und führt es direkt aus.
Mittels der Parameterkombination -be
kann man sich den Bytecode anzeigen lassen. Mittels luajit -bX script.lua script
erstellt man eine Binary, die man dann mittels luajit script
ausführen kann. Bei sehr umfangreichen Scripts ist das Ausführen der Binary schneller.
Alternativ kann man den Interpreter wie von anderen Scriptsprachen gewöhnt auch am Anfang der Datei angeben.
#!/usr/bin/lua [hier der Code]
Ein kleines Beispielprogramm
Für einen Kurzüberblick der auf einzelne Elemente etwas detaillierter Eingeht, sei auf die Kurzübersicht über die Lua-Syntax hier im Wiki verwiesen.
Implementationsbeispiele
Da Lua als Script- oder Konfigurationssprache sehr weit verbreitet ist, seien hier nur einige wenige Beispiele genannt.
- Die Voxel-Spieleengine Luanti stellt basierend auf LuaJIT eine API für in Lua geschriebene Modifikationen bereit
- Der Editor Neovim benutzt Lua als Plugin- und Konfigurationssprache
- Mediawiki benutzt Lua als Template-Engine
- Der XMPP-Server Prosody ist in Lua geschrieben
- Der Fenstermanager Awesome ist teilweise in Lua geschrieben und wird mit Lua konfiguriert
- Conky kann Lua zur Definition von Anzeigescripts interpretieren
- Lua wird innerhalb von mpv als Scriptsprache benutzt
In der englsichen Wikipedia gibt es (sicherlich unvollständige) Listen von Anwendungen und Spielen
die auf die eine oder andere Art und Weise Lua nutzen.
Siehe auch
- Der Lua-Paketmanager Luarocks
- Diverse Module in dem Repos und im AUR