lua出現xxx:attempt to call a nil value(field'getn')解決方法

1389 ワード

最近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を変更しましょう.