聯繫我們

課程簡介

Lua 入門

  • 歷史背景
  • Lua 的目標、功能與非目標
  • Lua 文件與教學資源
  • 安裝 Lua 直譯器
  • 設定並使用 LuaRocks

基本語法與語義

  • 標識符
  • 註解、區塊註解
  • 全域變數與嚴格模式的強制執行
  • 區域變數
  • 獨立程式、程式參數
  • 編譯單元、程式碼塊、表達式、分號

資料型別與資料結構

  • 基本型別:nil、boolean、number、string
  • 物件型別:function、userdata、thread、table
  • 參考/物件 vs. 基本值
  • table 在 Lua 中的重要性

table 入門與多樣性

  • 作為關聯式陣列的 table
  • 作為數值陣列、序列的 table

基本控制結構

  • if then elseif else end
  • while 迴圈
  • repeat 迴圈
  • 簡易 for 迴圈

錯誤處理

  • 傳回值 vs. 例外狀況
  • 將傳回值轉換為例外狀況
  • 將例外狀況轉換為傳回值
  • 錯誤層級

範例程式

  • 多項式求值
  • 廣度優先搜尋
  • 額外練習題

關於函式的更多內容

  • 具名參數
  • 物件導向呼叫
  • 閉包
  • 柯里化 (Currying)
  • 尾呼叫 (Tail calls)
  • 多重指派與傳回
  • 可變長度參數 (Varargs)

迭代器與協程

  • 通用 for 迴圈
  • 無狀態 vs. 有狀態迭代器
  • 迭代器與協程之間的差異

元表 (Metatables) 與元方法 (Metamethods)

  • 集合範例
  • __tostring 元方法
  • 算術元方法
  • __index、__newindex 元方法
  • __len 元方法

模組與套件

  • 使用模組
  • 建立模組
  • 將模組組織為套件

物件導向程式設計

  • Lua 中 OOP 的建構要素
  • 範例

進階語言功能討論

  • 弱參考表 (Weak tables)
  • 終結器 (Finalizers)
  • 編譯、評估、載入

最低要求

至少熟悉另一種程式設計語言。具備程式設計經驗。若額外熟悉其他腳本語言,將有助於理解 Lua。

 14 小時

課程分類