calog/examples/scripts/libraries/kv.lua

33 lines
1 KiB
Lua

-- Showcase the calog kv store: set string and number values, read them back,
-- test presence with kvHas, list keys with kvKeys, then delete one key and
-- confirm it is gone. The kv store is process-wide and shared across engines.
-- Run: bin/calog examples/scripts/libraries/kv.lua
kvSet("tool", "calog")
kvSet("version", 2)
kvSet("ratio", 1.5)
kvSet("stable", "yes")
calogPrint("tool:", kvGet("tool"))
calogPrint("version:", kvGet("version"))
calogPrint("ratio:", kvGet("ratio"))
calogPrint("stable:", kvGet("stable"))
calogPrint("has tool:", kvHas("tool"))
calogPrint("has missing:", kvHas("missing"))
local keys = kvKeys()
table.sort(keys)
calogPrint("key count:", #keys)
calogPrint("keys:", table.concat(keys, ", "))
kvDelete("stable")
calogPrint("has stable after delete:", kvHas("stable"))
calogPrint("get stable after delete is nil:", kvGet("stable") == nil)
local remaining = kvKeys()
table.sort(remaining)
calogPrint("remaining count:", #remaining)
calogPrint("remaining keys:", table.concat(remaining, ", "))
calogExit(0)