nvm¶
nvm¶
模块功能:参数管理
nvm.init(defaultCfgFile, burnSave)¶
初始化参数存储模块
参数
传入值类型 |
释义 |
---|---|
string |
defaultCfgFile 默认配置文件名 |
bool |
burnSave 本 地烧录是否保留已有参数,true为保留,false或者nil为清除 |
返回值
nil
例子
nvm.init("config.lua")
nvm.set(k, v, r, s)¶
设置某个参数的值
参数
传入值类型 |
释义 |
---|---|
string |
k 参数名 |
param |
v,可以是任意类型,参数的新值 |
param |
r,设置 原因,如果传入了非nil的有效参数, 并且v值和旧值相比发生了改变,会产 生一个PARA_CHANGED_IND消息,携带 k,v,r 3个参数 |
param |
s,是否立即写入到文件 系统中,false不写入,其余的都写入 |
返回值
bool或者nil,成功返回true,失败返回nil
例子
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},立即写入文件系统
nvm.sett(k, kk, v, r, s)¶
设置某个table类型参数的某一个索引的值
参数
传入值类型 |
释义 |
---|---|
string |
k table类型的参数名 |
param |
kk table类型参数的某一个索引名 |
param |
v ,table类型参数的某一个索引的新值 |
param |
r,设置 原因,如果传入了非nil的有效参数, 并且v值和旧值相比发生了改变,会产 生一个TPARA_CHANGED_IND消息,携带 k,kk,v,r 4个参数 |
param |
s,是否立即写入到文件 系统中,false不写入,其余的都写入 |
返回值
bool或者nil,成功返回true,失败返回nil
例子
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,不写入文件系统
nvm.gett(k, kk)¶
读取某个table类型参数的某一个索引的值
参数
传入值类型 |
释义 |
---|---|
string |
k table类型的参数名 |
param |
kk table类型参数的某一个索引名 |
返回值
无
例子
nvm.gett("score","chinese")
nvm.remove()¶
请求删除参数文件.
此接口一般用在远程升级时,需要用新的config.lua覆盖原来的参数文件的场景,在此场景下,远程升级包下载成功后,在确定要重启前调用此接口下次开机执行nvm.init(“config.lua”)时,会用新的config.lua文件自动覆盖参数文件;以后再开机就不会自动覆盖了也就是说“nvm.remove()->重启->nvm.init(”config.lua“)”是一个仅执行一次的完整操作
参数
无
返回值
nil
例子
nvm.remove()