【问题标题】:Create a simple Lua .txt Database with write() and read()使用 write() 和 read() 创建一个简单的 Lua .txt 数据库
【发布时间】:2016-11-20 09:50:31
【问题描述】:

我正在尝试使用 LUA 创建一个简单的 2 函数文本文件“数据库”。我只需要 2 个函数。

我的数据库应该是这样的:

    varName;varValue 
    JohnAge;18 
    JohnCity;Munich 
    LarissaAge;21
    LarissaCity;Berlin

事实上,我并没有拘泥于任何格式!我只是没有办法在我的 lua 环境中长期保存数据,我需要找到一种解决方法。所以如果你已经有一个 手头有类似的解决方案,请随意扔给我。非常感谢

Function WriteToDB(varName, varValue) 
If database.text contains a line that starts with varName 
replace whatever comes after seperator ";" with varValue (but dont go into the next line)


Function ReadFromDB(varName)
If database.text contains a line that starts with varName 
take whatever comes after the seperator ";" and return that (but dont go into the next line)
elseif not found print("error")

【问题讨论】:

  • 我建议你使用 Lua 代码作为你的格式,这样你就可以用一个简单的 dofile 来加载它。
  • 您好 Ihf,感谢您的快速回答。我进行了一些研究,但我真的不知道如何将其应用于我的问题。你有一个小例子吗?谢谢!

标签: lua text-database


【解决方案1】:

将数据保存为构建表的 Lua 代码:

return {
JohnAge = 18,
JohnCity = "Munich",
LarissaAge = 21,
LarissaCity = "Berlin",
}

或者更好

return {
["John"] = {Age = 18, City = "Munich"},
["Larissa"] = {Age = 21, City = "Berlin"},
}

加载数据

db = dofile"db.lua"

访问数据

print(db["Larissa"].Age)

print(db[name].Age)

【讨论】:

  • 感谢干净的解决方案!我已经对你投了赞成票,但在我达到一定的声誉阈值之前它没有显示出来!可悲的是,我的环境似乎已阻止 dofile 以防止滥用,但这似乎仍然是处理小型数据库的最干净的方法。谢谢
猜你喜欢
  • 2012-02-04
  • 1970-01-01
  • 1970-01-01
  • 2014-03-10
  • 1970-01-01
  • 2018-05-06
  • 1970-01-01
  • 1970-01-01
  • 2011-07-04
相关资源
最近更新 更多