LUA

LUA

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 Päpstlichen Katholischen Universität von Rio de Janeiro in Brasilien entwickelt. Lua ist freie Software, und wurde bis zur Version 4 unter einer eigenen BSD-Lizenz, ab Version 5 unter der MIT-Lizenz veröffentlicht.

Lua-Programme werden vor der Ausführung in Bytecode übersetzt, wodurch Lua plattformunabhängig ist. 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. Insbesondere die geringe Größe von 120 KB und die hohe Geschwindigkeit verglichen mit anderen Skriptsprachen überzeugen viele Entwickler davon, Lua einzusetzen.

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.

Lua ist in ANSI-C implementiert und unterstützt imperative und funktionale Programmierung. Implementiert[1] man jedoch selbst Objekte mittels Metatables, wird auch objektorientierte Programmierung ermöglicht.

Inhaltsverzeichnis

Beispielprogramme in Lua

Hallo Welt:

 print "Hello World"

Beispiel für eine Rekursion:

 function factorial(n)
   if n == 0 then
      return 1
   else
      return n * factorial(n - 1)
   end
 end

Befehle in Lua können – müssen aber nicht – am Ende einer Zeile mit einem Semikolon abgeschlossen werden.

Die Syntax lehnt sich an die von Pascal an, was besonders Anfängern den Einstieg in Lua erleichtert. Im Gegensatz zu von Pascal abgeleiteten Sprachen nutzt Lua jedoch „==“ und nicht „=“ als Vergleichsoperator.

Verwendung

Lua kann sowohl zur Erstellung eigenständiger Programme verwendet werden als auch als eingebettete Sprache dienen.

Es erfreut sich besonderer Beliebtheit bei Computerspielprogrammierern: Um einzelne Komponenten eines Computerspiels, wie z. B. Konfigurationsdateien, von der Spiel-Engine zu trennen, kommt Lua in dieser Branche oft zum Einsatz. Dies macht die meist teuer entwickelte Spiel-Engine flexibler und ermöglicht eine mit geringerem Aufwand verbundene Wiederverwendbarkeit. Daher wird Lua im Bereich proprietärer Spiele beispielsweise in:

und vielen weiteren Spielen verwendet. Anwendung findet Lua ebenfalls in Desktopanwendungen, wie etwa Adobe Photoshop Lightroom [2]. Auch das freie Textsatzprogramm TeX integriert im neuen Ableger LuaTeX Lua als Skriptsprache.

Quellen

  1. Ein Beispiel für die Definition einer Klasse und die Ableitung von Objekten daraus ist inequality-1.4.0 (Anwendung: Berechnung von Ungleichverteilungsmaßen für die Wirtschafts- und Sozialwissenschaften). Das Programm ist sowohl in Lua wie auch in Python implementiert und ermöglicht dadurch einen Vergleich.
  2. Einsatz von Lua in Lightroom: [1]

Literatur

  • Roberto Ierusalimschy: Programmieren mit Lua, September 2006, ISBN 3937514228
  • Roberto Ierusalimschy: Lua 5.1 Reference Manual, August 2006, ISBN 8590379833
  • Kurt Jung, Aaron Brown: Beginning Lua Programming, 2007, ISBN 0470069171
  • Paul Schuytema, Mark Manyen: Game Development with Lua, 2005, ISBN 1584504048

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • lua — LUÁ, iau, vb. I. tranz. I. 1. A prinde un obiect în mână spre a l ţine (şi a se servi de el) sau spre a l pune în altă parte. ♢ expr. A lua altă vorbă = a schimba (cu dibăcie) subiectul unei discuţii. A( şi) lua picioarele la spinare = a pleca… …   Dicționar Român

  • Lua — Logo Basisdaten Paradigmen: Skriptsprache, imperativ, funktional, objektorientiert …   Deutsch Wikipedia

  • Lua — [[Archivo:128px|220px]] Información general Paradigma Multiparadigma: interpretado, imperativo, funcional, orientado a objetos, basado en prototipos Apareció en …   Wikipedia Español

  • LUA — Apparu en 1993 Auteur Luiz Henrique de Figueiredo, Roberto Ierusalimschy et Waldemar Celes Implémentations Lua, LuaJIT, LLVM Lua, LuaCLR, Nua, Lua A …   Wikipédia en Français

  • lua — s. f. 1. O único planeta satélite da Terra. 2. Tempo compreendido entre dois novilúnios. 3.  [Por extensão] Mês. 4.  [Popular] Cio. 5.  [Ictiologia] O mesmo que peixe lua. 6. Disco de ouro ou prata que os Timores usam ao pescoço, como símbolo de… …   Dicionário da Língua Portuguesa

  • Lua — may refer to: * Lua (programming language), a lightweight, extensible programming language * Lua (Yu Gi Oh! 5D s) * Lua (goddess), the Roman goddess * Lua (martial art), a traditional Hawaiian martial art * Lua (song), a single by the folk rock… …   Wikipedia

  • LUA — LUA  аббревиатура: LUA  последний всеобщий предок (также переводится как «Последний универсальный предок» (англ. LUA, Last Universal Ancestor), иначе Последний универсальный общий предок (англ. LUCA, last universal common… …   Википедия

  • lúa — (Del gót. lôfa, palma de la mano). 1. f. Especie de guante hecho de esparto y sin separaciones para los dedos, que sirve para limpiar las caballerías. 2. Mar. Revés de las velas por la parte donde van cazadas con viento largo o en popa. 3. Mar.… …   Diccionario de la lengua española

  • Lua — Lua, römische Göttin, Tochter des Saturnus, welcher nach der Schlacht zur Sühne des vergossenen Blutes erbeutete Waffen von dem Feldherrn verbrannt wurden …   Pierer's Universal-Lexikon

  • LUA — Dea quaedam apud vett, a luendo, expiandoque nomen sortita, quae praeerat lustrationibus, et lustris. Vide Turneb. Adver s. l. 16. c. 20. et l. 23. c. 23. et l. 19. c. 11. Eius meminit A. Gell. l. 13. c. 22. cum ait in libris Sacerdotum Pop. Rom …   Hofmann J. Lexicon universale

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”