尝试索引全局'LM'(零值)

时间:2013-06-11 21:23:21

标签: lua null lua-table

我正在研究Lua中的一些代码,虽然已定义,但我仍然会收到此错误。

有人说'LM'是一个零值,当它显然不是LM = {}是我在代码中的第一件事。我正在使用该表来实现功能。

LM = {}
LM.Classes = {}
LM.Factions = {}
LM.Items = {}
LM.Core = {}
LM.Ent = {}
LM.GUI = {}
LM.Core.ValidLMEntities = {
                "fm_item",
                "fm_keys",
                "fm_fists",
                "fm_money",
                }

function LM.Core.IsLMEntity(ent)    
    return IsValid(ent) && table.HasValue(LM.Core.ValidLMEntities, ent:GetClass())
end

错误讯息:

[ERROR]
gamemodes/lemonmuffin/gamemode/sv_core.lua:1: attempt to index global 'LM' (a nil value) 
  1. unknown - gamemodes/lemonmuffin/gamemode/sv_core.lua:1
  2. include - [C]:-1 
  3. unknown - gamemodes/lemonmuffin/gamemode/init.lua:1

2 个答案:

答案 0 :(得分:4)

请注意,您使用的&& and相同。
这是所有Lua非单词代币的完整列表(没有&):

 +     -     *     /     %     ^     #
 ==    ~=    <=    >=    <     >     =
 (     )     {     }     [     ]     ::
 ;     :     ,     .     ..    ...

有关详细信息,请参阅Reference Manual

答案 1 :(得分:0)

试试这个

LM = {Classes,Factions,Items,Core,Ent,GUI}
LM.Classes = {}
LM.Factions = {}
LM.Items = {}
LM.Core = {}
LM.Ent = {}
LM.GUI = {}

LM.Core.ValidLMEntities = {
            "fm_item",
            "fm_keys",
            "fm_fists",
            "fm_money",
            }

function LM.Core.IsLMEntity(ent)    
     return IsValid(ent) and table.HasValue(LM.Core.ValidLMEntities, ent:GetClass())
end