lua5.3 获取table的元素数量

最近更新了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)