Lua
aus Wikipedia, der freien Enzyklopädie
Lua (portugiesisch für Mond) ist eine Skriptsprache zum Einbinden in Programme, um diese leichter weiterentwickeln und warten zu können. Eine der besonderen Eigenschaften von Lua ist die geringe Größe des kompilierten Skript-Interpreters.
Lua wurde 1993 von der Computer Graphics Technology Group der Pontifikalen Katholischen Universität von Rio de Janeiro in Brasilien entwickelt. Lua ist freie Software, und wurde bis zur Version 5 unter einer BSD-Lizenz, ab Version 5 unter der MIT-Lizenz veröffentlicht.
Lua kommt oft in Computerspielen zum Einsatz. Im Bereich kommerzieller Spiele wird Lua beispielsweise in Heroes of Might and Magic V, Monkey Island 4, Spellforce, Far Cry, World of Warcraft, Microsoft Freelancer, Half-Life 2, Die Siedler V, Parkan 2, Star Wars Battlefront II und Company of Heroes eingesetzt, im Bereich freier Software zum Beispiel in Angband 3 (und dessen Varianten, wie ZAngband und ToME).
Lua-Programme werden vor der Ausführung in Bytecode übersetzt. Obwohl man mit Lua auch eigenständige Programme schreiben kann, ist sie vorrangig als Skriptsprache von C-Programmen konzipiert. In dieser Hinsicht ist sie mit Tcl vergleichbar.
Der Lua-Interpreter kann über eine C-Bibliothek angesprochen werden, die auch ein API für die Laufzeitumgebung des Interpreters für Aufrufe vom C-Programm aus beinhaltet. Mittels des API können verschiedene Teile des Programmes in C und Lua geschrieben werden, während Variablen und Funktionen in beiden Richtungen erreichbar bleiben (d.h. eine Funktion in Lua kann eine Funktion in C aufrufen, und umgekehrt).
Es gibt auch einen freien JIT-Compiler für die neueste Version (5.1) von Lua namens LuaJIT (luajit.luaforge.net).
Lua ist in ANSI-C implementiert und unterstützt sowohl funktionale als auch objektorientierte Programmierung.
Inhaltsverzeichnis |
[Bearbeiten] Hallo-Welt-Programm in Lua
print("Hello World")
Befehle in Lua können, müssen aber nicht mit am Ende einer Zeile mit einem Semikolon abgeschlossen werden.
[Bearbeiten] Fakultät in Lua
function factorial(n) if n == 0 or n == 1 then return 1 else return n*factorial(n-1) end end
Die Syntax lehnt sich an die von Pascal an, was besonders Anfängern den Einstieg in Lua erleichtert.
[Bearbeiten] Literatur
- Roberto Ierusalimschy: Programmieren mit Lua, September 2006, ISBN 3937514228
- Roberto Ierusalimschy: Lua 5.1 Reference Manual, August 2006, ISBN 8590379833
- Paul Schuytema, Mark Manyen: Game Development with Lua, 2005, ISBN 1584504048
[Bearbeiten] Weblinks
- http://www.lua.org - Offizielle Homepage (auf Englisch und Portugiesisch)
- http://lua-users.org
- http://luaforge.net
- Projekte, die Lua benutzen
- Links zum Thema „Lua“ im Open Directory Project