Course Outline

Εισαγωγή στο Lua

    Λίγη ιστορία Οι στόχοι, οι δυνατότητες και οι μη στόχοι του Lua Πόροι τεκμηρίωσης και εκμάθησης Lua Εγκατάσταση του διερμηνέα Lua Ρύθμιση και χρήση του LuaRocks

Βασική σύνταξη και σημασιολογία

    Αναγνωριστικά Σχόλια, μπλοκ σχολίων Καθολικές μεταβλητές και επιβολή αυστηρότητας Τοπικές μεταβλητές Μεμονωμένα προγράμματα, ορίσματα προγράμματος Μονάδες μεταγλώττισης, κομμάτια, εκφράσεις, ερωτηματικά

Τύποι δεδομένων και δομές δεδομένων

    Βασικοί τύποι: μηδέν, boolean, αριθμός, συμβολοσειρά Τύποι αντικειμένων: συνάρτηση, δεδομένα χρήστη, νήμα, πίνακας Αναφορές/αντικείμενα έναντι βασικών τιμών Η σημασία των πινάκων στο Lua

Εισαγωγή στους πίνακες και την ευελιξία τους

    Πίνακες ως συσχετιστικός πίνακας Πίνακες ως αριθμητικοί πίνακες, ακολουθίες

Βασικές δομές ελέγχου

    Το if then elseif else τέλος Ο βρόχος while Ο βρόχος επανάληψης Ο απλός βρόχος for

Διαχείριση σφαλμάτων

    Επιστρεφόμενες τιμές έναντι εξαιρέσεων Μετατροπή επιστρεφόμενης τιμής σε εξαίρεση Μετατροπή εξαίρεσης σε επιστρεφόμενη τιμή Επίπεδα σφαλμάτων

Παραδείγματα προγραμμάτων

    Πολυωνυμική αξιολόγηση Πρώτη αναζήτηση πλάτους Πρόσθετες ασκήσεις

Περισσότερα για τις λειτουργίες

    Ονομασμένα ορίσματα Αντικειμενοστρεφείς κλήσεις Κλείσιμο Curry Tail κλήσεις Πολλαπλή ανάθεση και επιστροφή Varargs

Επαναληπτικοί και συν-ρουτίνες

    Ο γενικός βρόχος for Stateless vs Stateful iterators Διαφορές μεταξύ επαναληπτικών και συν-ρουτίνων

Μεταπίνακες και μεταμέθοδοι

    Το παράδειγμα συνόλου Η μεταμέθοδος __tostring Αριθμητικές μεταμέθοδοι Η __index, __newindex metamethods Η __len metamethod

Ενότητες και πακέτα

    Χρήση λειτουργικών μονάδων Δημιουργία λειτουργικών μονάδων Οργάνωση λειτουργικών μονάδων σε πακέτα

Προηγμένοι πίνακες

    Πίνακες για ουρές και στοίβες Πίνακες που περιγράφουν γραφήματα Πίνακες ως πίνακες Συνδεδεμένες λίστες ως πίνακες Προσωρινές συμβολοσειρών

Μεταπίνακες μέσω παραδειγμάτων

    Proxies Απομνημόνευση μόνο για ανάγνωση Δυναμικός προγραμματισμός με απομνημόνευση Το παράδειγμα Fibonacci

Περιβάλλοντα

    Σχέση μεταξύ καθολικών μεταβλητών και περιβαλλόντων Ελεύθερες μεταβλητές Ο πίνακας _ENV και ο πίνακας _G

Περισσότερα για τις ενότητες

    Διαφορετικές προσεγγίσεις για τη δημιουργία μονάδων Ενότητες που αλλάζουν τη συμπεριφορά Αρχικοποίηση μονάδας και ορίσματα Χρήση περιβαλλόντων για την υλοποίηση ασφαλών λειτουργικών μονάδων

Προηγμένες επαναλήψεις και συν-ρουτίνες

    Παραγωγός, καταναλωτής, φίλτρο Αναδίπλωση συν-ρουτινών για να ληφθούν επαναλήπτες Επαναληπτικός ανιθαγενής για συνδεδεμένες λίστες

Συμβολή στο Οικοσύστημα

    Μεταφόρτωση πακέτων στο MoonRocks

Λειτουργικό παράδειγμα στο Lua

    Η λειτουργία χάρτη Η λειτουργία μείωσης / αναδίπλωσης

Αντικειμενοστραφή Programming

    Διαφορετικές προσεγγίσεις στο OOP Διαφορετικές προσεγγίσεις στην κληρονομικότητα Παραδείγματα

Μια περιγραφή των Lua Τυπικών Βιβλιοθηκών

Συλλογή

    Σύνταξη Eval Σχέση με το περιβάλλον Δυαδικά κομμάτια

Συλλογή απορριμάτων

    Αδύναμοι πίνακες Finalizers, η μετα-μέθοδος __gc

Lua bytecode και εικονική μηχανή

    Δημιουργία bytecode από πηγαίο κώδικα Ανάγνωση και ανάλυση bytecode Γρήγορη περιήγηση στον πηγαίο κώδικα του Lua VM

Ενότητες C

    Κλήση C από τη διαδρομή Lua Search και φόρτωση μονάδων C

Κλήση Lua από C

    Το Σφάλμα στοίβας χειρισμός Συνέχεια

Χειρισμός Lua τιμών και τύπων από το C

    Πίνακες Συμβολοσειρές Δεδομένα χρήστη Μεταπίνακες Αντικειμενοστρεφείς κλήσεις Ελαφριά δεδομένα χρήστη

Διαχείριση μνήμης

    Allocators GC API

Νήματα σε Lua

    Co-routines vs threads Πραγματικά πολλαπλά νήματα και Lua καταστάσεις

Requirements

Εξοικείωση με τουλάχιστον μία άλλη γλώσσα προγραμματισμού. Programming εμπειρία. Προαιρετικά, εάν έχετε εξοικείωση με άλλες γλώσσες σεναρίου, αυτό θα διευκολύνει την κατανόηση του Lua.

 21 Hours

Number of participants



Price per participant

Testimonials (3)

Related Courses

Lua Fundamentals

14 Hours

OpenResty

7 Hours

Combined C/C++, JAVA and Web Application Security

28 Hours

Advanced Java Security

21 Hours

Combined JAVA, PHP and Web Application Security

28 Hours

Standard Java Security

14 Hours

Java and Web Application Security

21 Hours

Advanced Java, JEE and Web Application Security

28 Hours

Related Categories