Επικοινωνήστε μαζί μας

Εξέλιξη Κομματιού

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

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

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

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

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

  • Βασικοί τύποι: nil, boolean, number, string
  • Τύποι αντικειμένων: function, userdata, thread, table
  • Αναφορές/αντικείμενα έναντι βασικών τιμών
  • Η σημασία των πινάκων (tables) στη Lua

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

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

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

  • Η δομή if then elseif else end
  • Ο βρόχος while
  • Ο βρόχος repeat
  • Ο απλός βρόχος for

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

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

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

  • Αποτίμηση πολυωνύμου
  • Αναζήτηση κατά πλάτος
  • Πρόσθετες ασκήσεις

Περισσότερα για τις συναρτήσεις

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

Επαναλήπτες και co‑routines

  • Ο γενικός βρόχος for
  • Stateless επαναλήπτες έναντι stateful επαναληπτών
  • Διαφορές μεταξύ επαναληπτών και co‑routines

Metatables και metamethods

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

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

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

Αντικειμενοστρεφής προγραμματισμός

  • Τα δομικά στοιχεία του αντικειμενοστρεφούς προγραμματισμού στη Lua
  • Παραδείγματα

Συζήτηση για πιο προχωρημένα χαρακτηριστικά της γλώσσας

  • Αδύναμοι πίνακες (weak tables)
  • Finalizers
  • Μεταγλώττιση, eval, φόρτωση

Απαιτήσεις

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

 14 Ώρες

Αριθμός συμμετέχοντων


Τιμή ανά συμμετέχοντα

Εφεξής Μαθήματα

Σχετικές Κατηγορίες