字符串匹配中捕获过多错误 [帮助]

我在这行代码上遇到了错误“捕获量过多”:

gM.webServiceUserId,  mute, volume, gM.roundCount,gM.puntajeTotal,gM.tiempo,gM.facebookLogro,gM.twitterLogro,gM.a,gM.b,gM.c,gM.d,gM.e,gM.f,gM.g,gM.h,gM.i,gM.j,gM.k,gM.l,gM.m,gM.n,gM.o,gM.p,gM.q,gM.r,gM.s,gM.t,gM.u,gM.v,gM.w,gM.x,gM.y,gM.z = string.match(saveData, "(%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+)")

总共有34个数据在我的文件中。 我想做的是将每行分配给变量 例如:

在文件上 (1,2,3,4,5)
var1=1
var2=2
var3=3
var4=4
var5 =5

当我添加更多变量时出现了错误,请帮我找到解决方案。

我想在一个文件中保存34个变量(system.DocumentsDirectory),当游戏关闭时将它们加载回来,当游戏启动时再次使用...它可以工作,但只能保存一些变量,当我添加更多时就会出现错误....

lua代码 corona sdk

点赞
用户2895078
用户2895078

一件你可以做的事情是以 key=value 的格式将数据存储到文件中:

 local saveData = ''
 for k, v in gM do
    saveData = (saveData..k..'='..v..',')
 end
 -- 你的代码将 saveData 写入保存文件

之后,你可以像这样从文件中加载/检索数据:

 for k, v in string.gmatch(s, "(%w+)=(%d+)") do
    gM[k] = v
 end

请注意,这只适用于 gM 变量 :) 你也需要在 gM 中存储静音和音量(gM.mute、gM.volume)。

2013-10-31 00:37:01