我正在研究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
答案 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