Debugging in Lua Universität zu Köln Re-usable Content in 3D und Simulationssystemen Prof. Dr. Manfred Thaller Referent: Artur Wilke.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmentheorie 08 – Dynamische Programmierung (1)
Advertisements

Ein- und Ausgabe von Dateien
Forschungszentrum caesar
Programmierung II Prof. Dr. Michael Löwe
Hochschule Fulda – FB ET Sommersemester 2010
Game Development with Lua Kapitel 1-5
Zusammenfassung der Vorwoche
Einführung in JavaScript I
Dr. Andreas Winter Sommersemester 2007 Einführung in die Software-Entwicklung © Institut für Informatik Programmier-Richtlinien vgl. auch
10. Grundlagen imperativer Programmiersprachen
der Universität Oldenburg
eXist Open Source Native XML Database
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
LUA FÜR 2D S YSTEME Universität zu Köln Re-usable Content in 3D und Simulationssystemen Pr. Dr. Manfred Thaller SoSe 2013 Barbara von Hunnius.
Die Skriptsprache Lua Softwaretechnologie II.
Einführung XML XML Einführung Andreas Leicht.
Imperative Programmierung
Programmieren mit JAVA
Die Skriptsprache Perl (2) Wolfgang Friebel DESY Zeuthen.
Batch-Programmierung Grundlagen
Einführung MySQL mit PHP
Struktogramme IF-ELSE FOR – Schleife
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Einführung in das Programmieren mit JavaScript Mag. Andreas Starzer weloveIT – EDV Dienstleistungen.
Informatik 1 Übung 2.
Kontrollstrukturen Verwendung: Steuerung des Ablaufs.
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 11.Sitzung WS 02/03.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
FORTRAN 77.
Einführung in die Programmiersprache C 4
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Dynamische Datentypen
Programiersprache Mustafa SÖYLEMEZ e
Grundkonzepte des Programmierens (mit ActionScript)
Arduino Kurs Abend 2.
Purga - Scriptengine Ein Einblick.
Informatik II Grundlagen der Programmierung Programmieren in C Programmstrukturen / Kontrollstrukturen Hochschule Fulda – FB ET Sommersemester 2014.
Grundlagen Wissenschaftlichen Arbeitens Hilal Tekoglu
Einführung in PHP.
Einführung in PHP 5.
MODULA-2.
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
Informatik Grundlagen, WS04, Seminar 7
BMEVIEEA100 Grundlagen der Programmierung
PHP: Operatoren und Kontrollstrukturen
Variablen. var meineZahl:Number = 7; meineZahl 7 Name TypWert = Zuweisung von Variablen.
1 Tagesüberblick 2 Lösung Hausaufgabe/Fragen Datei- ein- und ausgabe Schleifen Vergleiche Wahrheit.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
(Syntax, Strings/Zahlen, Variablen, Arrays)
MATLAB Control Statements.
Delphi Chars und Strings
Programmierkurs JavaUE 4 Anweisungen und ProgrammeDietrich BolesSeite 1 Programmierkurs Java Dr. Dietrich Boles Teil Imperative Programmierung Unterrichtseinheit.
The Programming Language Pascal
Prüfungsbesprechung Barbara Scheuner Vorlesung: Programmieren und Problemlösen Prof. Hans Hinterberger.
Programmiersprache PASCAL
Minecraft Universität zu Köln Historisch-kulturwissenschaftliche Informationsverarbeitung Re-usable Content in 3D und Simulationssystemen SS 2015 Prof.
Fallunterscheidung und Iteration Programmierung I Prof. Dr. Michael Löwe.
TRUE und FALSE in C Der Wert 0 steht für FALSE Jeder von 0 verschiedene Wert steht für TRUE FALSE wird als 0 dargestellt TRUE wird als 1 dargestellt.
Die Programmiersprache Ruby Seminarvortrag von Lia Schulze Dephoff 1.
ESP Tutorium Studienassistent: Ewald Moitzi Gruppe 1.
UNIVERSITY OF APPLIED SCIENCES Brückenkurs Programmieren Einführung in die IT für Social Media Systems.
Unterschiedliche Kontrollstrukturen
GRUNDLAGEN WISSENSCHAFTLICHEN ARBEITENS MODULA-2 SONAY SUBAYAZ
Schleifen Datenfelder (Arrays) Verzweigungen
The Programming Language Pascal
 Präsentation transkript:

debugging in Lua Universität zu Köln Re-usable Content in 3D und Simulationssystemen Prof. Dr. Manfred Thaller Referent: Artur Wilke

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

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

Konventionen zu Benennungen Normale Variablen beginnen mit Kleinbuchstaben Funktionen beginnen mit Großbuchstaben Parameter beginnen mit einen Unterstrich

Syntax Kommentare sind mit -- eingeleitet. Mehrzeilige Kommentare sind mit -- [[ möglich. Kommentarende ist bei ]] Anweisungen können mit einem ; geschlossen werden

Operatoren "=" --> Zuweisungsoperator "+" --> Additionsoperator "-" --> Subtraktionsoperator oder auch Negationsoperator "*" --> Multiplikationsoperator "/" --> Divisionsoperator ".." --> Verknüpfungsoperator

If-else if (Bedingung) then (Anweisungsblock den Fall) else (Anweisungsblock für unbehandelte Fälle) end

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

Do-while Schleife while (Bedingung) do (Anweisung) end

Repeat-until repeat (Anweisungen) until (Bedingung)

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

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

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

Reihenfolge beachten! Lokale Funktionen: Erst definieren Dann verwenden Bei Verschachtelungen gilt das Zwiebelprinzip

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, ···)

Defensives Programmieren Bevor mit Werten gearbeitet wird, erst überprüfen ob diese gegeben sind Bsp. Ausgelagerte Datei Nutzereingaben

Lua-Editor/Debugger Löve Studio: LuaEdit:

Quellen: rozek.de/Lua/Modules/FunctionProtection.ht ml rozek.de/Lua/Modules/FunctionProtection.ht ml Tutorial_-_1_Grundlagen Tutorial_-_1_Grundlagen mmierung