目标是将一种特殊类型的文件加载到内存中,然后将其所有数据分配给称为 spec[] 的数组中的对象。所有将被重新分配给它的东西。问题是,无论出于何种原因,我的对象识别代码都无法正常工作。special.type 指的是它是什么类型的文件,并且在我的文件中定义,但它抛出一个异常,说 special 是一个 nil 值。Special = {type = 0} 和 special 下的函数确实存在,所以我不知道它是关于什么的。代码如下。
function specload(file)
if (spec==16) then return -1 end
local spehand=0
local specdata=0
checkArg(1, drv, "string")
local tmp="/special/" .. file
if (filesystem.exists(tmp)==true) then
spechand=filesystem.open(tmp)
tmp=""
repeat
specdata=filesystem.read(spechand, math.huge)
tmp = tmp .. (specdata or "")
until not specdata
read = load(tmp)
read()
tmp=0
if not special.type then
while true do
if(spec[tmp]==0) then
spec[tmp]=special
special=nil
else
tmp=tmp+1
end
end
end
end
end
从中,您能找出问题所在,还是我需要引入更多数据?