-
Notifications
You must be signed in to change notification settings - Fork 1
/
macro_db.text
140 lines (85 loc) · 3.71 KB
/
macro_db.text
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
Работа с базой данных
=====================
:::functions
`ret = mf.serialize (value)`
: Функция `serialize` преобразует переданное значение в строку.
Параметры:
`value`
: `nil`, `boolean`, `number`, `string`, `table`, `int64`
Возвращает:
`ret`
: `string`
При сохранении таблиц будут сохраняться:
- ключи типов: `number`, `string`, `boolean`, `table`
- значения типов: `number`, `string`, `boolean`, `table`, `int64`
Сохраняются вложенные таблицы, при этом рекурсивные вложения корректно обрабатываются.
Сохраняется связь таблицы с её метатаблицей.
Примечание
`int64` - особый тип `userdata`, создаваемый библиотекой `bit64`.
`value, errmsg = mf.deserialize (str)`
: Функция `deserialize` восстанавливает ранее сериализованное значение.
Если 2-е возвращаемое значение `nil`, то 1-е возвращаемое значение валидно.
Параметры:
`str`
: `string`
Возвращает:
`value`
: `number`, `string`, `boolean`, `table`, `int64` or `nil`.
`errmsg`
: `nil` в случае успеха, `string` в случае неудачи.
Примечание
`int64` - особый тип `userdata`, создаваемый библиотекой `bit64`.
`ret = mf.mdelete (key, name[, location])`
: Функция удаляет значение или ключ из базы данных.
Для удаления ключа следует указать параметр `name` == "`*`" (звёздочку).
Параметры:
`key`
: `string`
`name`
: `string`
`location`
: `string` ("`roaming`" или "`local`"; по умолчанию: "`roaming`")
Возвращает:
`ret`
: `boolean`
`value, errmsg = mf.mload (key, name[, location])`
: Функция читает значение из базы данных.
Если 2-е возвращаемое значение `nil`, то 1-е возвращаемое значение валидно.
Параметры:
`key`
: `string`
`name`
: `string`
`location`
: `string` ("`roaming`" или "`local`"; по умолчанию: "`roaming`")
Возвращает:
`value`
: `number`, `string`, `boolean`, `table`, `int64` или `nil`.
`errmsg`
: `nil` в случае успеха, `string` в случае неудачи.
Примечание
`int64` - особый тип `userdata`, создаваемый библиотекой `bit64`.
`ret = mf.msave (key, name, value[, location])`
: сохраняет переданное значение в базу данных.
Параметры:
`key`
: `string`
`name`
: `string`
`value`
: `nil`, `boolean`, `number`, `string`, `table`, `int64`
`location`
: `string` ("`roaming`" или "`local`"; по умолчанию: "`roaming`")
Возвращает:
`ret`
: `boolean`
При сохранении таблиц будут сохраняться:
_ключи_ типов
: `number`, `string`, `boolean`, `table`
_значения_ типов
: `number`, `string`, `boolean`, `table`, `int64`
Сохраняются вложенные таблицы, при этом рекурсивные вложения корректно обрабатываются.
Сохраняется связь таблицы с её метатаблицей.
Примечание
`int64` - особый тип `userdata`, создаваемый библиотекой `bit64`.
:::