lua5.3 tableの要素数を取得する

658 ワード

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