Erste Schritte in der Programmierung mit LuaODP PDF English


[Syntax-Diagramme]
Erste Schritte mit Lua: [Hello World][Operatoren][Variablen][Verzeigungen][Schleifen][Funktionen][Tabellen][Reguläre Ausdrücke]

Sie sind hier: Lua


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:

Konventionen zu Bennenungen

Lua und Ruby

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

C-Sourcen

rub-lua

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

1Und in lua_texsources.zip hat es den Sourcecode der TeX-Dateien mit denen das PDF erzeugt wurde