state - Збереження стану програми

Таблиця state автоматично зберігається при завершенні програми.

Методи save(), reset(), clear() та властивість path є вбудованими і захищеними від перезапису.

Приклад:

1state = state or { score = 0 }
2state.score = state.score + 1
3state.save() -- зберегти зараз, не чекаючи завершення
4state.reset() -- повернути останній збережений стан
5state.clear() -- видалити файл стану, state стає nil
6console.print(state.path) -- шлях до файлу стану
class state

Сховище для зберігання даних програми.

Якщо вам потрібно зберегти дані між запусками програми (наприклад, налаштування або стан гри), ви можете використовувати цей об’єкт.

Цей об’єкт автоматично зберігається на диск при завершенні програми, і відновлюється при наступному запуску.

Всі дані зберігаються в тій самій директорії, що і програма, в файлі з розширенням .state. Наприклад, якщо файл вашої програми називається mygame.lua, то дані будуть збережені в файлі mygame.state.

Попередження

Дозволено зберігати тільки прості типи даних: string, number, boolean та nil. Вкладені таблиці, функції та інші типи не підтримуються і будуть проігноровані.

Usage:

 1-- Ця програма при кожному запуску збільшує лічильник на 1 та виводить його значення в консоль.
 2
 3state = state or {} -- якщо це перший запуск, то state буде не визначений, тому ми ініціалізуємо його пустою таблицею
 4if state.counter == nil then
 5    state.counter = 0
 6end
 7state.counter = state.counter + 1
 8display.fill_screen(display.color565(64, 0, 64))
 9display.set_cursor(0, 64)
10display.print('Лічильник запусків\nпрограми: ', state.counter)
11display.queue_draw()
12util.sleep(0.5)