1. ホーム
  2. lua

lua が表示される xxx: nil 値 (フィールド 'getn') を呼び出そうとする 解決方法

2022-02-20 18:59:20
<パス

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が 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をすべて変更しましょう!