Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
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