lua中賦值nil操作

2022-04-28 09:49:06 字數 423 閱讀 3337

今天使用cjson操作發現lua的nil操作並沒有刪除記憶體。

具體**如下:

rst_table["ws"][1] = nil

local cut_rsh_result = cjson.encode(rst_table)

print (cut_rsh_result)

我們隊其中某項賦值為nil

cjson轉換時並沒有刪除 而是顯示

[null,{}] 這樣的東西。

驗證陣列時也發現

local a =

a[1]=nil

print (a[1])

nil此時 a[1] 沒有變成 2  

print(a[2])

由此可見nil只是將記憶體至 0 並沒有釋放。只有在物件結束生命週期  lua垃圾機制才會**。

小記一下!

Lua變數以及賦值,索引操作

變數型別 全域性變數,區域性變數,表中的域 lua 中的變數全是全域性變數,那怕是語句塊或是函式裡,除非用 local 顯式宣告為區域性變數。區域性變數的作用域為從宣告位置開始到所在語句塊結束。變數的預設值均為 nila 5 全域性變數 local b 6 區域性變數 function joke c...

lua中位運算操作

description filename bit.lua this module provides a selection of bitwise operations.history initial version created by 陣雨 2005 11 10.notes bit for i 1...

Lua中C API棧操作

向棧中壓入資料 lua pushnil lua state lua pushboolean lua state bool lua pushnumber lua state lua number lua pushinteger lua state lua integer lua pushlstring...