感謝您提交詢問!我們的一位團隊成員將在短時間內與您聯繫。
感謝您提交預訂!我們的一位團隊成員將在短時間內與您聯繫。
課程時長 14 時間:
課程簡介
Lua 簡介
- 一點歷史背景
- Lua 的目標、特性與非目標
- Lua 文件與教學資源
- 安裝 Lua 直譯器
- 設定及使用 LuaRocks
基本語法與語意
- 識別符
- 註解、區塊註解
- 全域變數與強制嚴格模式
- 區域變數
- 獨立程式、程式參數
- 編譯單元、區塊(chunks)、運算式、分號
資料型別與資料結構
- 基本型別:nil、boolean、number、string
- 物件型別:function、userdata、thread、table
- 參考/物件 vs. 基本值
- 表格(Table)在 Lua 中的重要性
表格(Table)簡介及其多功能性
- 表格作為關聯陣列(associative array)
- 表格作為數值陣列、序列(sequences)
基本控制結構
- if then elseif else end
- while 迴圈
- repeat 迴圈
- 簡單 for 迴圈
錯誤處理
- 回傳值 vs. 例外(exceptions)
- 將回傳值轉換為例外
- 將例外轉換為回傳值
- 錯誤層級
範例程式
- 多項式求值
- 廣度優先搜索(BFS)
- 額外練習
函式進階說明
- 具名參數(Named arguments)
- 物件導向呼叫
- 閉包(Closures)
- 柯里化(Currying)
- 尾部呼叫(Tail calls)
- 多重賦值與回傳
- 可變參數(Varargs)
迭代器與協程(Co-routines)
- 通用 for 迴圈
- 無狀態 vs. 有狀態迭代器
- 迭代器與協程的差異
元表格(Metatables)與元方法(Metamethods)
- 集合(set)的範例
- __tostring 元方法
- 算術元方法
- __index, __newindex 元方法
- __len 元方法
模組與套件
- 使用模組
- 建立模組
- 將模組組織為套件
物件導向程式設計
- Lua 中物件導向的構建區塊
- 範例
進階語言特性討論
- 弱表格(Weak tables)
- 最終化器(Finalizers)
- 編譯、eval、載入
最低要求
熟悉至少另一種程式語言,並具備程式設計經驗。如果您熟悉其他腳本語言,將有助於更容易地理解 Lua。