一、数据文件
如果在 Lua 程序中可以需要用文件保存数据,并且后续使用 Lua 进行读取使用,则可以考虑将数据按照一定的格式保存,然后用 dofile
函数进行加载,这样可以让数据很方便的进行读取。
我们可以将数据按照 EntryName{}
或者 EntryName({})
方式存储,这样一旦使用 dofile
加载,则会让数据文件解析为调用了 EntryName 函数,并且将 {}
内的内容解析为一个 table 作为一个参数传入函数。(在只有一个参数时,函数的调用携带参数是可以省略括号的)
dofile 的详细使用在下一篇文章进行分享
接下来通过完整的例子体会一下吧
数据文件的内容
Entry{
"江澎涌",
"28",
1994,
}
Entry{
"小朋友",
"20",
2000
}
加载代码
local count = 0
function Entry()
count = count + 1
end
-- 内部会调用 entry
dofile("/Users/jiangpengyong/Desktop/code/Lua/lua_study_2022/9 数据文件和序列化/data.txt")
print("number of entries: " .. count) --> number of entries: 2
数据文件中会调用 Entry
函数,并将 {}
作为入参,所以能做的事情很多,并不止局限于统计个数,也可以将数据收集,例如下面的代码,当然也可以做一些加工。
local authors = {
}
function Entry(author)
table.insert(authors, author)
end
-- 内部会调用 entry
dofile("/Users/jiangpengyong/Desktop/code/Lua/lua_study_2022/9 数据文件和序列化/data.txt")
for key, author in pairs