課程簡介

Lua 簡介

  • 一點歷史
  • Lua的目標、特點和非目標
  • Lua 文件和教程的資源
  • 安裝 Lua 解釋器
  • 設置和使用 LuaRocks

基本語法和語義

  • 標識碼
  • 評論、阻止評論
  • 全域變數和嚴格性的實施
  • 局部變數
  • 獨立程式、程序參數
  • 編譯單元、塊、表達式、分號

數據類型和數據結構

  • 基本類型:nil、boolean、number、string
  • 物件類型:函數、用戶數據、線程、表
  • 引用/物件與基本值
  • Lua 中表格的重要性

介紹桌子及其多功能性

  • 表作為關聯陣列
  • 表作為數位數位、序列

基本控制結構

  • if then elseelse 結束
  • while 迴圈
  • 重複迴圈
  • 簡單的 for 迴圈

錯誤處理

  • 返回值與異常
  • 將返回值轉換為異常
  • 將異常轉換為返回值
  • 錯誤級別

示例程式

  • 多項式求值
  • 廣度優先搜索
  • 其他練習

有關函數的更多資訊

  • 命名參數
  • 面向物件的調用
  • 閉包
  • 咖喱
  • 尾部呼叫
  • 多次分配和返回
  • 瓦拉格斯

反覆運算器和協程

  • 泛型 for 迴圈
  • 無狀態反覆運算器與有狀態反覆運算器
  • 反覆運算器和協程之間的差異

元表和元方法

  • 設置範例
  • __tostring元方法
  • 算術元方法
  • __index、__newindex元方法
  • __len元方法

模組和套件

  • 使用模組
  • 創建模組
  • 將模組組織到包中

高級表

  • 佇列和堆疊的表
  • 描述圖形的表格
  • 矩陣作為表
  • 以表格形式鏈接的鏈表
  • 字串緩衝區

通過示例的元表

  • 代理
  • 唯讀
  • 記憶
  • 帶記憶的動態程式設計
  • 斐波那契例子

環境

  • 全域變數與環境的關係
  • 自由變數
  • _ENV 表和 _G 表

有關模組的更多資訊

  • 創建模組的不同方法
  • 更改行為的模組
  • 模組初始化和參數
  • 使用環境實現安全模組

高級反覆運算器和協程

  • 生產者、消費者、篩檢程式
  • 包裝協程以獲取反覆運算器
  • 鏈表的無狀態反覆運算器

為生態系統做貢獻

  • 將包裹上傳到 MoonRocks

Lua 中的函數範式

  • map 函數
  • 縮小/摺疊功能

面向物件Programming

  • 不同的 OOP 方法
  • 不同的繼承方法
  • 例子

Lua 標準庫演練

彙編

  • 彙編
  • 評估
  • 與環境的關係
  • 二進位塊

垃圾回收

  • 弱表
  • 終結器,__gc元方法

Lua 位元組碼和虛擬機

  • 從原始碼生成位元組碼
  • 讀取和分析位元組碼
  • 快速流覽 Lua VM 的原始程式碼

C 模組

  • 從 Lua 調用 C
  • Search C 模組的路徑和載入

從 C 呼叫 Lua

  • 堆疊
  • 錯誤處理
  • 延續

處理 C 中的 Lua 值和類型

  • 陣 列
  • 字串
  • 用戶數據
  • 元表
  • 面向物件的調用
  • 輕量級用戶數據

記憶體管理

  • 25天
  • 氣相色譜 API

Lua 中的線程

  • 協程與線程
  • 真正的多線程和 Lua 狀態

最低要求

熟悉至少一種其他程式設計語言。Programming 經驗。或者,如果您熟悉其他腳本語言,這將使您更容易理解 Lua。

 21 時間:

人數



每位參與者的報價

客戶評論 (3)

相關課程

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

28 時間:

Advanced Java Security

21 時間:

Combined JAVA, PHP and Web Application Security

28 時間:

Java and Web Application Security

21 時間:

Advanced Java, JEE and Web Application Security

28 時間:

課程分類