© Liashko/Shutterstock.com
Entwickler Magazin
Skriptsprache für Nostalgiker

Lua to go

Programmiersprachen wie C, Java und Co. sind für die Entwicklung von Systemen und/oder Programmen vorgesehen. Lua hingegen ist eine imperative und erweiterbare Skriptsprache zum Einbinden in Programme, die im Rahmen der „Customization Mania“ in den 1990er-Jahren entstand.

Tam Hanna


Von Winamp bis zu Windows – das Implementieren von Skins gehörte in den 90ern in der IT zum guten Ton. Im Lauf der Zeit wollten Entwickler ihren Usern zudem die Möglichkeit geben, die Programmintelligenz anzupassen. C und Co. waren dazu sowohl zu komplex als auch zu schwierig zu implementieren: Das dynamische Einbinden von Bibliotheken artet nun mal in Arbeit aus.

Lua entstand als komplett in C gehaltene „Sprache für alles“. Die vergleichsweise tolerante Syntax und der portabel gehaltene Interpreter sorgten dafür, dass die Sprache binnen kurzer Zeit immense Reichweiten erreichte.

Lua sieht sich selbst als eine Art Anti-C: Die Sprache möchte Entwicklern all das bieten, was C nicht kann – der bequeme Zugriff auf in C gehaltene Funktionen gehört hier explizit dazu. Heute findet sich das Sprachchamäleon in diversen Spiele-Engines und – man mag es kaum glauben – im Embedded-Bereich.

Eins, zwei, Lua herbei

Lua-Entwickler können sich freuen: Für Ubuntu stehen fertige Pakete zur Verfügung, die sich per apt-get automatisch installieren lassen. Leider gibt es mehrere Versionen – die folgenden Schritte basieren auf Version 5.2, die vom Paketmanager explizit angefordert werden muss:

@tamhan-thinkpad:~$ sudo apt-get install lua5 lua50 lua5.1 lua5.1-policy lua5.2 lua50-doc lua5.1-doc lua5.1-policy-dev lua5.2-doc tamhan@tamhan-thinkpad:~$ sudo apt-get install lua5.2 [sudo] password for tamhan: Reading package lists... Done . . .

Das Kommandozeilenwerkzeug lua kennt zwei Betriebsmodi. Wird es durch Eingabe von lua gestartet, so arbeitet es im in Abbildung 1 gezeigten interaktiven Modus. Aufrufe nach dem Schema lua dateiname sorgen stattdessen für die Abarbeitung des angegebenen Skripts.

Unter Linux lässt sich lua zudem als Interpreter für Shellskripte einsetzen. Dazu ist lediglich ein nach folgendem Schema aufgebauter hashbang erforderlich, der auf den per which lua ermittelbaren Pfad der Lua-Runtime zeigt:

#!/usr/bin/luaprint("Hello World!")

Linux zeigt hier eine kleine Besonderheit: Es lassen sich nur jene Dateien ausführen, deren Executable-Bit gesetzt ist. Zur Behebung dieses Missstands bietet sich folgende Befehlskombination an:

tamhan@tamhan-thinkpad:~/Lua$ chmod +x table1.lua tamhan@tamhan-thinkpad:~/Lua$ ./table1.lua Hello

Als erstes Beispiel wollen wir eine kleine Applikation generieren, die zwei Zahlen von der Kommandozeile einliest und addiert. Erstellen Sie eine Datei namens suslua1.lua und statten Sie sie mit folgendem Code aus:

#!/usr/bin/lua print("Bitte zw...

Entwickler Magazin
Skriptsprache für Nostalgiker

Lua to go

Programmiersprachen wie C, Java und Co. sind für die Entwicklung von Systemen und/oder Programmen vorgesehen. Lua hingegen ist eine imperative und erweiterbare Skriptsprache zum Einbinden in Programme, die im Rahmen der „Customization Mania“ in den 1990er-Jahren entstand.

Tam Hanna


Von Winamp bis zu Windows – das Implementieren von Skins gehörte in den 90ern in der IT zum guten Ton. Im Lauf der Zeit wollten Entwickler ihren Usern zudem die Möglichkeit geben, die Programmintelligenz anzupassen. C und Co. waren dazu sowohl zu komplex als auch zu schwierig zu implementieren: Das dynamische Einbinden von Bibliotheken artet nun mal in Arbeit aus.

Lua entstand als komplett in C gehaltene „Sprache für alles“. Die vergleichsweise tolerante Syntax und der portabel gehaltene Interpreter sorgten dafür, dass die Sprache binnen kurzer Zeit immense Reichweiten erreichte.

Lua sieht sich selbst als eine Art Anti-C: Die Sprache möchte Entwicklern all das bieten, was C nicht kann – der bequeme Zugriff auf in C gehaltene Funktionen gehört hier explizit dazu. Heute findet sich das Sprachchamäleon in diversen Spiele-Engines und – man mag es kaum glauben – im Embedded-Bereich.

Eins, zwei, Lua herbei

Lua-Entwickler können sich freuen: Für Ubuntu stehen fertige Pakete zur Verfügung, die sich per apt-get automatisch installieren lassen. Leider gibt es mehrere Versionen – die folgenden Schritte basieren auf Version 5.2, die vom Paketmanager explizit angefordert werden muss:

@tamhan-thinkpad:~$ sudo apt-get install lua5 lua50 lua5.1 lua5.1-policy lua5.2 lua50-doc lua5.1-doc lua5.1-policy-dev lua5.2-doc tamhan@tamhan-thinkpad:~$ sudo apt-get install lua5.2 [sudo] password for tamhan: Reading package lists... Done . . .

Das Kommandozeilenwerkzeug lua kennt zwei Betriebsmodi. Wird es durch Eingabe von lua gestartet, so arbeitet es im in Abbildung 1 gezeigten interaktiven Modus. Aufrufe nach dem Schema lua dateiname sorgen stattdessen für die Abarbeitung des angegebenen Skripts.

Unter Linux lässt sich lua zudem als Interpreter für Shellskripte einsetzen. Dazu ist lediglich ein nach folgendem Schema aufgebauter hashbang erforderlich, der auf den per which lua ermittelbaren Pfad der Lua-Runtime zeigt:

#!/usr/bin/luaprint("Hello World!")

Linux zeigt hier eine kleine Besonderheit: Es lassen sich nur jene Dateien ausführen, deren Executable-Bit gesetzt ist. Zur Behebung dieses Missstands bietet sich folgende Befehlskombination an:

tamhan@tamhan-thinkpad:~/Lua$ chmod +x table1.lua tamhan@tamhan-thinkpad:~/Lua$ ./table1.lua Hello

Als erstes Beispiel wollen wir eine kleine Applikation generieren, die zwei Zahlen von der Kommandozeile einliest und addiert. Erstellen Sie eine Datei namens suslua1.lua und statten Sie sie mit folgendem Code aus:

#!/usr/bin/lua print("Bitte zw...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang