Lua5 3遇到的坑

2021-10-07 06:03:02 字數 420 閱讀 6922

attempt to call a nil value (global 'unpack')

在lua 5.2和5.3的版本中,全域性的unpack函式已經被移除了,改為table.unpack,所以如果用到的第三方庫或者源**使用了unpack方法,可以在**前面加上:

local unpack = unpack or table.unpack

attempt to call a nil value (field 'getn')

在lua 5.2和5.3的版本中,table.getn方法被移除了,可以自定義乙個getn方法:

function getn(x)

local len =0

for i in pairs(x)

do len=len+1

endreturn len

end

lua5 3異常機制

lua本質上利用c函式來操作lua虛擬機器。lua虛擬機器對於c來說只是在堆上的記憶體物件。lua有自己的執行物件 協程 每個協程有自己的呼叫棧。比如下面的函式 function add x,y return x y end如果x或y不能進行加法操作,在呼叫中就會產生異常。產生了異常,虛擬機器需要對...

lua5 3資料結構

由於lua版本迭代之間,資料結構和函式都會部分變化 以下是我分析的lua.h中的資訊,以便確定版本 define lua version major 5 define lua version minor 3 define lua version num 503 define lua version ...

lua 5 3開發除錯環境搭建

目錄 5.1 以後就沒有很好的lua ide可用了,luastudio不錯但是小貴,發現有位仁兄寫了個 visual studio code的lua除錯外掛程式,試了一下還不錯 外掛程式原始碼 安裝lua 5.3 debug 外掛程式,在vscode中按ctrl p,輸入 ext install l...