我一直在Lua玩弄,想要找出为什么以及如何在Lua中定义“类”时获得“尝试调用字段'副本'(nil值)”。
local factionClass = {}
factionClass.Name = "throwaway"
function factionClass:New(name)
local newFaction = table.Copy(factionClass)
if name then
newFaction.Name = name
end
return newFaction
end
factionCoolguys = Faction("cool guys")
table.copy
,does not exist,所以Lua在你试图打电话时抱怨。这是因为:nil
,这是一个有效的“值”,与C语言不同,其中未定义的变量不存在。但是,无法调用nil
,这会导致您的错误。