msave/mload/mdelete

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: msave есть а mload?

Post by John Doe »

Latest post of the previous page:

Skirda wrote:задумывалось так (m - память):
memoryload
memorysave
Вот я как раз об этом и говорил:
- не конкретизируется какая такая память
- m можно понять как macro

В реальности функция имеет дело исключительно с переменными, и что-то типа varsave или savevar было бы конкретнее.
User avatar
SUSim
Posts: 1636
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: msave есть а mload?

Post by SUSim »

Правильно все пока, потом второй параметр можно будет добавить, функция на развитие не ограничена... И правильно, что mload() вызывает ошибку! Если это(mload без параметров) начнет работать, то ни о каком расширении функционала речи не пойдет :( тогда толь опять "АХТУНГ" останется...
SimSU ··· ·· -- ··· ··-
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: msave есть а mload?

Post by Skirda »

ну... если готовы к перелопачиванию макросов, то давай переименую в vsave и vload
We are the Borg. You will be assimilated.
So Say We All!
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: msave есть а mload?

Post by HaRT »

Skirda wrote:ну... если готовы к перелопачиванию макросов, то давай переименую в vsave и vload
может лучше gsave/gload (от слова globals)?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: msave есть а mload?

Post by Skirda »

да как скажете - g, так g :-)
если все готовы, то пойду переименовывать
We are the Borg. You will be assimilated.
So Say We All!
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: msave есть а mload?

Post by Skirda »

кстати, функции [mvg]load можно добавить второй необязательный параметр - в какую переменную считать значение с именем из первого параметра. типа, если второй не указан, то считываться будет в одноименную переменную, если указан, то...
We are the Borg. You will be assimilated.
So Say We All!
User avatar
SUSim
Posts: 1636
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: msave есть а mload?

Post by SUSim »

А если в msave добавить второй... третий параметр :) типа: без второго параметра или 0 - записать в реестр, -1 - сохранить в переменную из реестра, 2 сохранить в реестр с именем ключа третьего параметра, -2 - сохранить в переменную из реестра с именем ключа третьего параметра и тюпю (т.п.) :) во многих функциях фара такое есть...

Это имхо бред... лучше в mload сделать второй необязательный параметр - имя ключа реестра откуда грузить!
SimSU ··· ·· -- ··· ··-
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: msave есть а mload?

Post by John Doe »

HaRT wrote:
Skirda wrote:ну... если готовы к перелопачиванию макросов, то давай переименую в vsave и vload
может лучше gsave/gload (от слова globals)?
Не надо gload. Globals понять ещё можно, а g уже нет.
Skirda wrote:кстати, функции [mvg]load можно добавить второй необязательный параметр - в какую переменную считать значение с именем из первого параметра. типа, если второй не указан, то считываться будет в одноименную переменную, если указан, то...
Логично.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: msave есть а mload?

Post by John Doe »

SUSim wrote:лучше в mload сделать второй необязательный параметр - имя ключа реестра откуда грузить!
Неконцептуально.
User avatar
SUSim
Posts: 1636
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: msave есть а mload?

Post by SUSim »

Я так и не понял mload сделали или нет?
макрос:

Code: Select all

%%test=10; msave("%%test") %%test=100; msgbox(mload("%%test"),%%test)
mload возвращает 1 - типа все в порядке, однако в переменной %%test 100, а ожидалось 10
SimSU ··· ·· -- ··· ··-
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: msave есть а mload?

Post by Skirda »

не пашет
щаз починю
We are the Borg. You will be assimilated.
So Say We All!
User avatar
SUSim
Posts: 1636
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: msave есть а mload?

Post by SUSim »

СПАСИБО! все работает как хотелось!
SimSU ··· ·· -- ··· ··-
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: LuaFAR: ломка API

Post by Shmuel »

К теме не имеет отношения, но не хотелось начинать новую, короче, к сведению:

Code: Select all

shmuel 02.04.2013 18:02:11 +0300 - build 126

1. mf.msave сохраняет таблицы произвольной степени вложенности.
   Рекурсивные вложения не сохраняются (пропускаются).
   /С использованием кода от SUSim/.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: LuaMacro — Lua как язык макросов

Post by John Doe »

Не понял куда конкретно сохраняются данные.
Что является базой данных?
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: LuaMacro — Lua как язык макросов

Post by Shmuel »

John Doe wrote:Не понял куда конкретно сохраняются данные.
Что является базой данных?
Место сохранения не изменилось, это по-прежнему база плагина LuaMacro.
Вот добавленный кусок из macrotest.lua, для ясности:
  1. mf.msave("macrotest", "testkey", { a=5, {b=6}, c={d=7} })
  2.  
  3. local t=mf.mload("macrotest", "testkey")
  4.  
  5. assert(t.a==5 and t[1].b==6 and t.c.d==7)
  6.  
  7. mf.mdelete("macrotest", "*")
  8.  
  9. assert(mf.mload("macrotest", "testkey")==nil)
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: msave/mload/mdelete

Post by John Doe »

Сейчас в распоряжении скрипта есть как семейство функций mf(msave/mload/mdelete), так и семейство FAR API (SettingsControl).

Хочется разобраться со спецификой, в каких случаях что использовать для хранения настроек (и вообще любых данных, требующих между сессиями фар).
  • msave/mload/mdelete однозначно проще в использовании, и позволяют хранить таблицы
    Но как у них с производительностью?
  • Функции SettingsControl зато позволяют хранить данные в отдельной базе (а не в базе плагина).
    Вопрос это не актуален для персональных скриптов, но ведь скрипты выкладываются и в публичное пользование, подобно плагинам.
На первый взгляд стоит отдать предпочтение использованию msave/mload/mdelete.
Но что посоветует автор этой функциональности?
Post Reply

Return to “Обсуждение макросов”