最近更新了lua版本到最新的版本Lua 5.3.4 Copyright (C) 1994-2017 Lua.org, PUC-Rio
在運行舊的項目的時候出現(xiàn)了如下錯誤
xxx: attempt to call a nil value (field 'getn') stack traceback:
網上查了一下,發(fā)現(xiàn)也有許多朋友出現(xiàn)了這樣的問題,原因是lua在5.1以后的版本去除了table.getn()
,這點覺得lua做的不好,兼容性要保證吧。
好吧,這里不吐槽了,既然去除了table.getn()
,就應該有新的方式代替,沒錯新的方式是#mytable
$ lua
Lua 5.3.4 Copyright (C) 1994-2017 Lua.org, PUC-Rio
>
> mytable = {1,2,3,4}
> table.getn(mytable)
stdin:1: attempt to call a nil value (field 'getn')
stack traceback:
stdin:1: in main chunk
[C]: in ?
> #mytable
4
好了問題解決了,快把自己舊項目里的getn都改改吧!