Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Tabea Welch Geändert vor über 10 Jahren
1
debugging in Lua Universität zu Köln Re-usable Content in 3D und Simulationssystemen Prof. Dr. Manfred Thaller Referent: Artur Wilke
2
Merkmale von Lua Typenbindung ist dynamisch Variablen sind Typ-frei Werte von Daten hingegen sind Typ-behaftet Speicherverwaltung erfolgt automatisch Nicht benötigter Speicher wird freigegeben Möglichkeit der Erweiterbaren Semantik
3
Merkmale von Lua Sprache Lua selbst nicht objektorrientiert Durch Lua eigene Mittel lassen Mechanismen der Objektorientieren Programmierung einbauen (zB. Vererbung) Ist als Erweiterungssprache gedacht (zB. für die Integration in C/C++) Kann auch eigenständig genutzt werden
4
Konventionen zu Benennungen Normale Variablen beginnen mit Kleinbuchstaben Funktionen beginnen mit Großbuchstaben Parameter beginnen mit einen Unterstrich
5
Syntax Kommentare sind mit -- eingeleitet. Mehrzeilige Kommentare sind mit -- [[ möglich. Kommentarende ist bei ]] Anweisungen können mit einem ; geschlossen werden
6
Operatoren "=" --> Zuweisungsoperator "+" --> Additionsoperator "-" --> Subtraktionsoperator oder auch Negationsoperator "*" --> Multiplikationsoperator "/" --> Divisionsoperator ".." --> Verknüpfungsoperator
7
If-else if (Bedingung) then (Anweisungsblock den Fall) else (Anweisungsblock für unbehandelte Fälle) end
8
If-ifelse if (Bedingung A) then (Anweisungsblock für Fall A) elseif (Bedingung B) then (Anweisungsblock für Fall B) (optional: else (Anweisungsblock für unbehandelte Fälle)) end
9
Do-while Schleife while (Bedingung) do (Anweisung) end
10
Repeat-until repeat (Anweisungen) until (Bedingung)
11
Reservierte Schlüsselwörter and break do else elseif end false for function if in local nil not or repeat return then true until while
12
Fehlerquellen Verwendete Schlüsselwörter als Name Zeichen vergessen: statt.. nur. / statt -- nur – Funktion, Schleife, etc nicht mit end beendet Eingebundene Datei nicht im selben Ordner
13
Leere Werte oder 0 sind keine leeren Werte Nur nil und false sind nichts. Eine leere Tabele {} ist nil nil kann als Abfrage genutzt werden
14
Reihenfolge beachten! Lokale Funktionen: Erst definieren Dann verwenden Bei Verschachtelungen gilt das Zwiebelprinzip
15
Programmabstürze unterdrücken Mit der Funktion pcall lassen sich unerwünschte Programmabbrüche vermeiden pcall = protected call Fehlerhafte Funktion führt nicht zu Programmabbruch Syntax: pcall (f, arg1, ···)
16
Defensives Programmieren Bevor mit Werten gearbeitet wird, erst überprüfen ob diese gegeben sind Bsp. Ausgelagerte Datei Nutzereingaben
17
Lua-Editor/Debugger Löve Studio: http://bitbucket.org/kevinclancy/love-studio/ http://bitbucket.org/kevinclancy/love-studio/ LuaEdit: http://luaedit.sourceforge.net/download.html
18
Quellen: http://www.andreas-rozek.de/Lua/ http://lua.lickert.net/ http://www.andreas- rozek.de/Lua/Modules/FunctionProtection.ht ml http://www.andreas- rozek.de/Lua/Modules/FunctionProtection.ht ml http://rail-sim.de/wiki/index.php/Das_Lua- Tutorial_-_1_Grundlagen http://rail-sim.de/wiki/index.php/Das_Lua- Tutorial_-_1_Grundlagen http://de.wikipedia.org/wiki/Hilfe:Lua/Progra mmierung
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.