美文网首页
lua 出现xxx: attempt to call a nil

lua 出现xxx: attempt to call a nil

作者: iccccing | 来源:发表于2017-08-05 09:14 被阅读0次

最近更新了lua版本到最新的版本Lua 5.3.4 Copyright (C) 1994-2017 Lua.org, PUC-Rio
在运行旧的项目的时候出现了如下错误
xxx: attempt to call a nil value (field 'getn') stack traceback:

网上查了一下,发现也有许多朋友出现了这样的问题,原因是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都改改吧!

相关文章

网友评论

      本文标题:lua 出现xxx: attempt to call a nil

      本文链接:https://www.haomeiwen.com/subject/ttmhlxtx.html