Hinweise zur Programmiersprache Lua
Lua ist eine schlanke und kompakte Skriptsprache zum Einbinden in Programme, um diese leichter weiterentwickeln und warten zu können. Sie findet vielfach Verwendung in Computerspielen.
Es ist angekündigt, das Lua auch in TeX (genauer in pdfTeX, bzw pdfLaTeX) Verwendung finden wird. Da ich mich schon auf die erweiterten Möglichkeiten freue, die Lua bieten wird, machte ich erste Experimente um Lua etwas kennenzulernen.
Lua als Stand-Alone-Interpreter
Lua kann auch selbstständig mit einem Stand-Alone-Interpreter verwendet werden.
lua [options] [script [args]]
Optionen sind:
- -
- Führt stdin als Skript aus
- -e stat
- Führt String stat aus
- -l file
- Nachladen von file
- -i
- interactive mode nach der Scriptausführung
- -v
- Ausgabe von Versionsinformationen
- --
- Stop der Behandlung von Optionen
Scite
Um Lua in Scite zu nutzen kann man die lua.properties anpassen. Als Default ist folgende Definition vorhanden:
command.go.*.lua=Lua-5.0.exe "$(FileNameExt)"
Dort kann Lua-5.0.exe mit dem installierten Interpreter ausgetauscht werden.
DOS
Eine Datei lua.bat anlegen mit:
@echo off rem evtl auf Lua-Pfad anpassen Lua.exe %1 %2 %3
Codingbeispiele
Im Abschnitt Erste Schritte mit Lua kommen ein paar kleine Beispiel zur Einführung in die Programmiersprache Lua. Die Beispiele sind nur bedingt für Programmieranfänger geeignet. Sie sind eher ein einen Überblick über Funktionsweise und Mächtigkeit von Lua für jemand, der schon programmieren kann.
Es wird jeweils ein kurzes Beispiel und dessen Output gezeigt. Die Beispiele sind gesammelt in einem PDF-Dokument Lua - Erste Schritte in der Programmierung verfügbar, die Codingbeispiele sind gesammelt in der Datei lua_sources.zip . 1
Allgemeine Hinweise zum Lua-Coding:
- Kommentare sind mit -- eingeleitet.
- Mehrzeilige Kommentare sind mit -- [[ möglich. Kommentarende ist bei ]]
Konventionen zu Bennenungen
- Normale Variablen beginnen mit Kleinbuchstaben
- Funktionen beginnen mit Großbuchstaben
- Parameter beginnen mit einen Unterstrich
Lua und Ruby
- http://www.rubyforen.de/viewtopic.php?t=419 Vorstellung von Lua
Es gibt verschiedene Einbindungen von Lua in Ruby. Leider funktionierte bei mir bislang keines (es liegen nur die C-Sourcen vor, das kompilieren funktionierte bislang nicht).
ruby-lua: Lua in Ruby
Ein Rubymodul zum einbinden von lua scripten
Leider nur C-Sourcen
rub-lua5
- http://raa.ruby-lang.org/gonzui/markup/rub-lua5
- http://www.moonwolf.com/ruby/archive/rub-lua5-0.2.2.tar.gz
- http://raa.ruby-lang.org/gonzui/markup/rub-lua5
C-Sourcen
rub-lua
- http://raa.ruby-lang.org/project/rub-lua/
- http://ruby-lua.unolotiene.com/ (Leider funktionieren weitergehende Links nicht)
- http://ruby-lua.unolotiene.com/img/18/rubylua.zip 7.6KB
C-Sourcen. Makescript für gcc
rubyluabridge
Zitat aus der Doku:
RubyLuaBridge is a C extension that uses the actual Lua C library. It currently targets Lua 5.1 and Ruby 1.8. You must run:
% ruby extconf.rb --with-lua-include=/path/to/lua/include --with-lualib=lualibname % make % sudo make install
Lua und TeX
LuaTeX
Es gibt inzwischen eine pdfTeX -Version, die Lua als eingebettete Scriptsprache enthält:
Ziel ist es das eine TeX-Eingabe wie
\lua{a = 1.5 ; b = 1.8 ; c = a*b ; tex.print(c) ;} \startlua a = 1 b = 2 c = a*b tex.print(c) \stoplua
Zu einem Ergebnis
2.7 2
führt.
Ich freue mich schon auf die ersten Ergebnisse.
Listings.sty
Das TeX-Paket listings.sty ermöglicht das setzen von Programmcode.
Lua wird bislang nicht unterstützt (Stand 7. März 2007), wird aber wohl in einem der nächsten Versionen kommen. In lua_texsources.zip hat es eine provisorische Sprachdefinition für listings.sty.
Lua im Internet
- Weitere Links zum Thema Lua (englisch) im Open Directory Project
- Weitere Links zum Thema Lua (deutsch) im Open Directory Project
- Lua bei Wikipedia
- Lua-Forum
1Und in
lua_texsources.zip
hat es den Sourcecode der TeX-Dateien mit denen das PDF erzeugt wurde