1. ホーム
  2. ルア

luaの一般的なエラーの種類

2022-02-24 14:37:35

タイプ 1、インデックスがゼロの値

1. nil 値 (グローバル 'a') のインデックスを作成しようとした。

    a.name = "haha"





2. nil 値(フィールド 'name')のインデックスを作成しようとした。

    a.name.first = "haha"





3. nil 値 (グローバル 'a') に対して演算を実行しようとする。

    a=nil

    print(a+1)





タイプ2、数学的計算、値がゼロの論理演算

4. nil 値に対して算術演算を行おうとした (グローバル 'a')

    a=nil

    print(a+1)





5. nil 値 (グローバル 'a') に対してビット演算を実行しようとする。
    a=nil

    print(a & 1)








6. nil 値(フィールド 'b')に対して演算を実行しようとする。

    a = {}

    print(a.b &1)





タイプ3、nil値の呼び出し

7, nil 値を呼び出そうとした (グローバル 'a')

    a=nil

    a()








8. nil 値を呼び出そうとした (フィールド 'b')

    a={}

    a.f()








タイプ4、数学的計算、ビット演算における非数値型の使用

9. 文字列値に対して算術演算を行おうとした (グローバル 'a')

    a="str"

    print(a+1)








10. テーブル値(グローバル 'a')に対して演算を実行しようとする。

    a = {}

    print(a+1)








11. 文字列値(フィールド 's')に対して演算を実行しようとする。

    a = {s="str"}

    print(a.s + 1)








12. テーブル値(フィールド 's')に対して演算を実行しようとする。

    a = {s={}}

    print(a.s + 1)








タイプ5、数量制限

1、スタックオーバーフロー(関数呼び出しスタックオーバーラン LUAI_MAXSTACK 1000000)

    function a() b() end

    function b() a() end

    a()








2.アップバリューの数量制限


3. パラメータ数の制限


4. ローカル変数の個数制限


5. 文字列スプライスの回数制限