Lua正在保存到文件



我在Lua中做一个小项目,在将分数保存到磁盘时遇到问题。

我的代码是这样的,我确实收到了打印消息。

function saveHighScore(score)
    print("High score: "..tostring(score))
    local file = io.open("high_score.txt",'w')
    file:write(tostring(score))
    file:close()
end

有谁能帮忙吗?

当然,如果您遵循前两条注释的建议,您会更快地解决它。以下是如何做到的";以防其他人遇到同样的问题并遇到这种":

function saveHighScore(score)
    print("High score: "..tostring(score))
    local file,err = io.open("high_score.txt",'w')
    if file then
        file:write(tostring(score))
        file:close()
    else
        print("error:", err) -- not so hard?
    end
end

http://www.lua.org/manual/5.3/manual.html#pdf-io.open:

io.open(文件名[,模式])

此函数以字符串模式中指定的模式打开文件。它返回一个新的文件句柄,或者,如果出现错误,返回nil加上一条错误消息。

我发现了问题。不能保存到资源目录,只能保存到DocumentDirectory。

这是更正后的代码:

function saveHighScore(score)
    path = system.pathForFile("highScore.txt", system.DocumentsDirectory)
    file = io.open(path,'w')
    file:write(tostring(score))
    io.close(file)
    print("High score: "..tostring(score))
    file = nil
end

我只是想把它贴出来,以防其他人遇到同样的问题。

Number = math.random(1,100)
print("Try to guess a random number 1-100!")
while true do
local Guess = tonumber(io.read())
if Guess then
if Guess > Number then
print("Too high!")
end
if Guess < Number then
print("Too low!")
end
if Guess == Number then
print("Congratulations!")
return
end
else
print("Type a number >:(")
end
end

相关内容

  • 没有找到相关文章

最新更新