Lua 模块 Shelve |
|
使用 `shelve.open()` 函数来创建或打开一个新的 shelve 文件,例如
data = shelve.open("my_data_file")
`data` 变量的行为类似于 Lua 表,因此您可以存储键值对并使用已知的 Lua 语法读取它们。
-- store some values data.aNumber = 10 data.aString = "this is a string" data.aTable = { "these", "are", "some", "strings", "contained", "in", "a", "nested", "table", nested = true, items = 9 } -- retrieve values, and print them print(data.aString) print("items: " .. data.aTable) for k,v in data.aTable do print(k,v) end
如果您想知道 shelve 文件中存在哪些键,只需像调用函数一样调用它,它将返回一个与 shelve 文件具有相同键的表。
-- retrieve keys and print them keys = data() for key in keys do print(k) end
或者
-- retrieve keys and print them for key in data() do print(k) end
要手动关闭 shelve 文件,只需将 `nil` 赋值给它,Lua 垃圾回收 将为您关闭它。只需将此行添加到上面的示例中即可关闭文件。
data = nil
目前仅提供源代码。**最新版本为 0.33**。0.33 之前的版本存在错误,因此强烈建议您更新到 0.33 或更高版本。
您需要 Lua 5.0 beta 或更高版本,以及 Gdbm 或 Ndbm。推荐使用 Gdbm。当前版本已在 MacOS X 10.2 (Jaguar) 和 Linux 上测试。