KAPITEL 17. SCHNELLEINSTIEG IN LUA
1
p r i n t ( " H e l l o World " )
Drücken Sie
F5
Inhalt des Sketchbuffers aus. In der Ausgabe erscheint unsere Begrüßung
Hello world.
Die Lua print Funktion ist eine schnelle und einfache Möglichkeit den Inhalt
einer Variable oder hier eines Strings zu Testzwecken auszugeben. print wird
mit einem oder mehrerer durch Kommas getrennter Parameter aufgerufen. Die
Ausgabe mehrerer Resultate erfolgt dabei getrennt durch ein TAB Zeichen. Ein
Beispiel:
1
p r i n t ( " R e s u l t o f 1 / 3 " , 1 / 3 )
Hier rufen wir die print Funktion mit zwei Argumenten aus. Das erste Argu-
ment ist ein in zwei Gänsefüßchen eingeschlossenen String, das zweite das
Ergebnis eines arithmetischen Ausdrucks. Lua behandelt alle Zahlen intern im
Fließkommaformat (siehe Seite 203. Das Resultat ist deshalb eine Realwert
und keine Ganzzahl.
Die print Funktion kann auch als einfacher einzeiliger Taschenrechner die-
nen. Und da Lua die Eingabe von hexadezimalen Zahlen erlaubt, auch zur ein-
facher hexadezimal/dezimal Umrechnung. Betrachten Sie dazu folgende Zei-
len:
1
p r i n t ( 0xFFFF
2 )
2
p r i n t ( s t r i n g . f o r m a t ( "%x " , 123456 )
3
p r i n t ( s t r i n g . f o r m a t ( b i t 3 2 . bxor ( 0xFFFF , 0x3000 ) ) )
Hexadezimale Werte werden in Lua (wie auch in vielen anderen Sprachen)
durch ein vorangestelltes 0x angegeben, siehe Zeile 1. Die Ausgabe erfolgt
immer dezimal. Sie können dies aber jederzeit mit Hilfe der String Format Funk-
tion ändern. Diese arbeitet ähnlich der printf Funktion in C/C++.
Zeile 2 verwendet die vorzeichenlose hexadezimal Notation "%x" um das Er-
gebnis mit der Zahlenbasis 16 (hexadezimal) auszugeben.
Vermutlich fragen Sie sich an dieser Stelle was der Punkt zwischen string
und format bedeutet?
Lua fasst alle Funktionen zur String Manipulation in einem separaten Module
oder Bibliothek zusammen. Um eine Funktion innerhalb eines Moduls auszu-
führen, müssen Sie diese mit dem vorangestellten Modul bzw. Bibliotheksna-
men UND dem Funktionsnamen getrennt durch einen Punkt aufrufen.
Das string Modul ist nur eines von mehreren Lua Modulen. Zeile 3 führt das
Module zur Bit Manipulation ein. Die in der Analyser Software verwendete Lua
Version (5.1) verfügt über keine direkt in der Sprache implementierten Bit Ope-
ratoren (wie z.B. C/C++). Das bit32 Modul füllt diese Lücke. Weitere Details
finden Sie auf Seite 223.
Die Funktion bxor (Bitweise Exklusiv Oder) ist Teil des bit32 Moduls. Daher
müssen Sie es mit dem vorangestellten Modulnamen aufrufen.
17.1.1
Verwendung von Funktionen
print ist eine in Lua fest integrierte Funktion (neben vielen anderen). Aber Sie
können jederzeit beliebig viele eigene Funktion hinzufügen und anschließend
194
. Der Editor öffnet ein Lua Ausgabefenster und führt den
> R e s u l t o f 1 / 3
> 131070
0.33333333333
> 1E240
> CFFF