Skip to content

Commit

Permalink
Merge branch 'master' of https://gitee.com/openLuat/LuatOS
Browse files Browse the repository at this point in the history
  • Loading branch information
wl committed Oct 27, 2023
2 parents ddbffb0 + 455e2e1 commit 4697002
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 3 deletions.
11 changes: 8 additions & 3 deletions components/fskv/luat_lib_fskv.c
Expand Up @@ -211,12 +211,12 @@ static int l_fskv_set(lua_State *L) {
@api fskv.sett(key, skey, value)
@string key的名称,必填,不能空字符串
@string table的key名称, 必填, 不能是空字符串
@string 用户数据,必填,不能nil, 支持字符串/数值/table/布尔值, 数据长度最大4095字节
@string 用户数据,必填,支持字符串/数值/table/布尔值, 数据长度最大4095字节
@return boolean 成功返回true,否则返回false/nil
@usage
-- 本API在2023.7.26新增,注意与set函数区别
-- 设置数据, 字符串,数值,table,布尔值,均可
-- 但不可以是nil, function, userdata, task
-- 但不可以是function, userdata, task
log.info("fdb", fskv.sett("mytable", "wendal", "goodgoodstudy"))
log.info("fdb", fskv.sett("mytable", "upgrade", true))
log.info("fdb", fskv.sett("mytable", "timer", 1))
Expand All @@ -226,8 +226,13 @@ log.info("fdb", fskv.sett("mytable", "bigd", {name="wendal",age=123}))
log.info("fdb", fskv.get("mytable"), json.encode(fskv.get("mytable")))
-- 注意: 如果key不存在, 或者原本的值不是table类型,将会完全覆盖
-- 例如下列写法,最终获取到的是table,而非第一行的字符串
log.info("fdb", fskv.set("mykv", "123")
log.info("fdb", fskv.set("mykv", "123"))
log.info("fdb", fskv.sett("mykv", "age", "123")) -- 保存的将是 {age:"123"}
-- 如果设置的数据填nil, 代表删除对应的key
log.info("fdb", fskv.sett("mykv", "name", "wendal"))
log.info("fdb", fskv.sett("mykv", "name")) -- 相当于删除
--
*/
static int l_fskv_sett(lua_State *L) {
Expand Down
21 changes: 21 additions & 0 deletions demo/fskv/main.lua
Expand Up @@ -76,6 +76,27 @@ sys.taskInit(function()
-- fskv.get("my_bool")
-- end
-- log.info("fskv", mcu.ticks() - start)

if fskv.sett then
-- 设置数据, 字符串,数值,table,布尔值,均可
-- 但不可以是nil, function, userdata, task
log.info("fdb", fskv.sett("mytable", "wendal", "goodgoodstudy"))
log.info("fdb", fskv.sett("mytable", "upgrade", true))
log.info("fdb", fskv.sett("mytable", "timer", 1))
log.info("fdb", fskv.sett("mytable", "bigd", {name="wendal",age=123}))

-- 下列语句将打印出4个元素的table
log.info("fdb", fskv.get("mytable"), json.encode(fskv.get("mytable")))
-- 注意: 如果key不存在, 或者原本的值不是table类型,将会完全覆盖
-- 例如下列写法,最终获取到的是table,而非第一行的字符串
log.info("fdb", fskv.set("mykv", "123"))
log.info("fdb", fskv.sett("mykv", "age", "123")) -- 保存的将是 {age:"123"}

-- 删除测试
log.info("fdb", fskv.set("mytable", {age=18, name="wendal"}))
log.info("fdb", fskv.sett("mytable", "name", nil))
log.info("fdb", fskv.get("mytable"), json.encode(fskv.get("mytable")))
end
end)

-- 用户代码已结束---------------------------------------------
Expand Down

0 comments on commit 4697002

Please sign in to comment.