Zum Inhalt springen

Lua

Aus wiki.archlinux.de

„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.

# Lua an sich
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

Weblinks