2015-06-25 2 views
0

Я работаю над небольшим проектом в 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 

Кто-нибудь может помочь?

+4

Буквально ни один человек в мире не может вам помочь. В принципе, потому что мы понятия не имеем, в чем проблема. – Puppy

+4

Пожалуйста, добавьте некоторые ошибки. Убедитесь, что файл не равен нулю, а значит, он не смог открыть файл в первую очередь. Без ошибок или информации об отладке мы не можем вам помочь. –

+0

Спасибо за проголосовало. Хорошо, поэтому оценка не записывается в файл. Файл есть, и я могу его прочитать. Как было сказано, я получаю сообщение для печати, поэтому программа передает функцию. Любая причина, почему это не должно работать? – Jorgen

ответ

0

Я нашел проблему. Вы не можете сохранить каталог ресурсов, только в 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 

конца

Просто хотел отправить его в случае, если кто-то застряли с той же проблемой, и наткнулся на это.

1

Конечно, вы бы решили это гораздо быстрее, если бы последовали первые два комментария. Вот как это делается "в случае, если кто-то застрял с той же проблемой, и наткнулся на это":

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 (имя файла [режим])

Эта функция открывает файл в режиме, указанном в строковом режиме. Он возвращает новый дескриптор файла или в случае ошибок, ноль плюс сообщение об ошибке.

Смежные вопросы