сохранить значение переменной между вызовами far.MacroLoadAll

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
gotar
Posts: 412
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

сохранить значение переменной между вызовами far.MacroLoadAll

Post by gotar »

Какой рекомендованный способ сохранения значения переменной после вызова far.MacroLoadAll?
Не секрет, что вызов far.MacroLoadAll приводит к тому, что всем переменным Lua присваиваются начальные значения. Хотелось бы понять, как этого избежать. Мне приходят в голову только довольно сложные способы: сохранять значения переменных в SysV IPC shared memory или в файле, для одной переменной сделать модуль и воспользоваться массивом package.nounload. Может быть можно проще решить эту проблему. Если у Вас есть готовый код, который решает эту задачу, не могли бы Вы им поделиться
Last edited by gotar on Sun 12 Jul, 2020 21:40, edited 3 times in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

сохранить значение переменной между вызовами far.MacroLoadAll

Post by buniak_a_h »

gotar, таблица _G не обнуляется. Заведите себе там под-таблицу и сохраняйте, что хотите.
Ещё можно (если нужно между сессиями ФАРа сохранять) писать в базу (см. mf.mload и mf.msave)
Post Reply

Return to “Нужна помощь”