Module nvm
模块功能:参数管理
Info:
- Copyright: openLuat
- Release: 2017.11.9
- License: MIT
- Author: openLuat
Functions
init (defaultCfgFile) | 初始化参数存储模块 |
set (k, v, r, s) | 设置某个参数的值 |
sett (k, kk, v, r, s) | 设置某个table类型参数的某一个索引的值 |
flush () | 所有参数立即写入文件系统 |
get (k) | 读取某个参数的值 |
gett (k, kk) | 读取某个table类型参数的某一个索引的值 |
restore () | 参数恢复出厂设置 |
remove () | 请求删除参数文件. |
Functions
- init (defaultCfgFile)
-
初始化参数存储模块
Parameters:
- defaultCfgFile
string
默认配置文件名
Returns:
-
nil
Usage:
nvm.init("config.lua")
- defaultCfgFile
string
- set (k, v, r, s)
-
设置某个参数的值
Parameters:
- k
string
参数名
- v
可以是任意类型,参数的新值
- r
设置原因,如果传入了非nil的有效参数,并且v值和旧值相比发生了改变,会产生一个PARA_CHANGED_IND消息,携带 k,v,r 3个参数
- s
是否立即写入到文件系统中,false不写入,其余的都写入
Returns:
-
bool或者nil,成功返回true,失败返回nil
Usage:
nvm.set("name","Luat"),参数name赋值为Luat,立即写入文件系统
nvm.set("age",12,"SVR"),参数age赋值为12,立即写入文件系统,如果旧值不是12,会产生一个PARA_CHANGED_IND消息,携带 "age",12,"SVR" 3个参数
nvm.set("class","Class2",nil,false),参数class赋值为Class2,不写入文件系统
nvm.set("score",{chinese=100,math=99,english=98}),参数score赋值为{chinese=100,math=99,english=98},立即写入文件系统
- k
string
- sett (k, kk, v, r, s)
-
设置某个table类型参数的某一个索引的值
Parameters:
- k
string
table类型的参数名
- kk
table类型参数的某一个索引名
- v
table类型参数的某一个索引的新值
- r
设置原因,如果传入了非nil的有效参数,并且v值和旧值相比发生了改变,会产生一个TPARA_CHANGED_IND消息,携带 k,kk,v,r 4个参数
- s
是否立即写入到文件系统中,false不写入,其余的都写入
Returns:
-
bool或者nil,成功返回true,失败返回nil
Usage:
nvm.sett("score","chinese",100),参数score["chinese"]赋值为100,立即写入文件系统
nvm.sett("score","chinese",100,"SVR"),参数score["chinese"]赋值为100,立即写入文件系统, 如果旧值不是100,会产生一个TPARA_CHANGED_IND消息,携带 "score","chinese",100,"SVR" 4个参数
nvm.sett("score","chinese",100,nil,false),参数class赋值为Class2,不写入文件系统
- k
string
- flush ()
-
所有参数立即写入文件系统
Returns:
-
nil
Usage:
nvm.flush()
-
- get (k)
-
读取某个参数的值
Parameters:
- k
string
参数名
Returns:
-
参数值
Usage:
nameValue = nvm.get("name")
- k
string
- gett (k, kk)
-
读取某个table类型参数的某一个索引的值
Parameters:
- k
string
table类型的参数名
- kk
table类型参数的某一个索引名
Usage:
nvm.gett("score","chinese")
- k
string
- restore ()
-
参数恢复出厂设置
Returns:
-
nil
Usage:
nvm.restore()
-
- remove ()
-
请求删除参数文件. 此接口一般用在远程升级时,需要用新的config.lua覆盖原来的参数文件的场景,在此场景下,远程升级包下载成功后,在确定要重启前调用此接口 下次开机执行nvm.init("config.lua")时,会用新的config.lua文件自动覆盖参数文件;以后再开机就不会自动覆盖了 也就是说"nvm.remove()->重启->nvm.init("config.lua")"是一个仅执行一次的完整操作
Returns:
-
nil
Usage:
nvm.remove()
-