LUA表的引用理解

2021-09-12 09:52:49 字數 456 閱讀 8680

--

lua中引用型別都是分配在堆上的

--因此,我們在使用lua的table時,可盡可能的使用表的引用,而不需要拷貝表裡的元素

--比如,通過rpc協議傳來乙個表a,我們想要快取這個表,只需要儲存該錶的引用

--而不需要再重新生成乙個新錶然後將表a的元素乙個個拷過來

function

func()

local t = --

生成乙個表,是堆上的,並非棧上的,t是棧上的

local hello = "

hello

"local num = 111

return

t, hello, num

endt, str, num =func()

print(t.x, t.y, str, num)

posted on 2017-01-18 10:02收藏

lua的弱弱引用表

lua有gc。細節無需太關注,知道些主要的即可。能local就一定不要global 還有在陣列裡的物件,除非顯式 nil,否則非常難 只是能夠用弱引用表來告訴gc。外部引用為0,就不要管我,請del it。weak table是通過元表實現,元表裡的 mode欄位包括k或者v k表示key為弱引用 ...

lua元表理解

2015 08 23 22 13 237人閱讀收藏 舉報 lua 在lua中任何變數都有乙個元表 我相信每個字串元表都是string相關,所以可以使用string length 元表中特殊的值有特殊的含義,比如 index,call,add等等。函式setmetatable a,meta 就是將me...

lua弱引用表weak table的用途

目錄 1.簡介 2.定義 3.示例 示例1示例2 4.應用 1.記憶 快取 函式 示例1示例2 2.設定表的預設值 1 lua的gc預設是自動 的,當乙個物件的引用計數為0時,它就會被gc所 2 lua中的表預設是強引用的,當你把某個物件放入表中時,就是生成乙個對它的強引用 物件的引用計數 1 在物...