Lua 特性

weixin_30639719發表於2020-04-05

1.輕量級:C語言編寫 原始碼開放,編譯後僅100多K,是一種比較好的嵌入式語言;

2.可擴充套件性:Lua提供易於使用的擴充介面和機制;

3.支援程式導向,自動記憶體管理;

4.Lua 資料型別:nil,boolean,number,string,userdata,function,table;

5.pairs 和ipairs 區別:

pairs:迭代table,遍歷表中所有的KEY,可以返回nil;

ipairs:迭代陣列,不能返回nil 遇到nil 則退出;

Lua 元表:使用元表我們可以定義Lua如何計算兩個table的相加操作a+b

當Lua試圖對兩個表進行相加時,先檢查兩者之一是否有元表,之後檢查是否有一個叫"__add"的欄位,若找到,則呼叫對應的值。"__add"等即時欄位,其對應的值(往往是一個函式或是table)就是"元方法"

_newindex 元方法

 

__newindex 元方法用來對錶更新,__index則用來對錶訪問 。

當你給表的一個缺少的索引賦值,直譯器就會查詢__newindex 元方法:如果存在則呼叫這個函式而不進行賦值操作。

__call 元方法

__call 元方法在 Lua 呼叫一個值時呼叫。

__tostring 元方法

__tostring 元方法用於修改表的輸出行為

 

轉載於:https://www.cnblogs.com/DOGame/p/8720378.html

相關文章