从文件读入 table 共 table 秒
Read in from a file into table of tables
所以我有这个 txt 文件,里面有元素和它们被发现的年份,比如氢 1766
氦气 1868
还有很多。我必须读取文件和 return table of tables,像这样从文件中重新设置此信息
{ { "Hydrogen", 1766 }, { "Helium", 1868 }, ... { "Bromine", 1825 }, { "Krypton", 1898 } }
但到目前为止,我所拥有的只是名字和它下面的年份。到目前为止我有这个
function read_elements(f_name)
elements = {}
f_name = io.open('elements.txt')
for line in f_name:lines()do
for word in string.gmatch(line, "%w+") do
table.insert(elements,word)
end
end
for key,value in pairs(elements) do
print(value..",")
end
f_name:close()
end
我被告知要将每一对放在自己的 table 中,并将那些 table 插入更大的 table,但我真的不知道该怎么做下一步或如何做。请帮忙
您只是在创建一个 table,并将找到的每个单词插入其中。您需要创建您的主 table,然后构建一个包含元素和年份的个体 table,并将该个体 table 插入您的主 table.
假设您的文件格式为:
hydrogen 1766
helium 1868
...
即每行一个元素,在 f_name:lines()
的第一个 for
语句中,您应该创建一个新的 table,将找到的每个单词(将有两个)添加到新的 table 然后将其添加到您的大 table:
function read_elements(f_name)
local elements = {}
f_name = io.open('elements.txt')
for line in f_name:lines()do
local element = {}
for word in string.gmatch(line, "%w+") do
table.insert(element,word)
end
table.insert (elements, element)
end
f_name:close()
for _, element in ipairs (elements) do
for element, year in ipairs (element) do
print (element, year)
end
end
return (elements)
end
如果你的文本文件是不同的格式(可能只是一个顺序列表,你可能想要调查 setting/unsetting 每隔一个单词的布尔标志,假设每个其他单词总是年份或元素。
所以我有这个 txt 文件,里面有元素和它们被发现的年份,比如氢 1766 氦气 1868 还有很多。我必须读取文件和 return table of tables,像这样从文件中重新设置此信息 { { "Hydrogen", 1766 }, { "Helium", 1868 }, ... { "Bromine", 1825 }, { "Krypton", 1898 } } 但到目前为止,我所拥有的只是名字和它下面的年份。到目前为止我有这个
function read_elements(f_name)
elements = {}
f_name = io.open('elements.txt')
for line in f_name:lines()do
for word in string.gmatch(line, "%w+") do
table.insert(elements,word)
end
end
for key,value in pairs(elements) do
print(value..",")
end
f_name:close()
end
我被告知要将每一对放在自己的 table 中,并将那些 table 插入更大的 table,但我真的不知道该怎么做下一步或如何做。请帮忙
您只是在创建一个 table,并将找到的每个单词插入其中。您需要创建您的主 table,然后构建一个包含元素和年份的个体 table,并将该个体 table 插入您的主 table.
假设您的文件格式为:
hydrogen 1766
helium 1868
...
即每行一个元素,在 f_name:lines()
的第一个 for
语句中,您应该创建一个新的 table,将找到的每个单词(将有两个)添加到新的 table 然后将其添加到您的大 table:
function read_elements(f_name)
local elements = {}
f_name = io.open('elements.txt')
for line in f_name:lines()do
local element = {}
for word in string.gmatch(line, "%w+") do
table.insert(element,word)
end
table.insert (elements, element)
end
f_name:close()
for _, element in ipairs (elements) do
for element, year in ipairs (element) do
print (element, year)
end
end
return (elements)
end
如果你的文本文件是不同的格式(可能只是一个顺序列表,你可能想要调查 setting/unsetting 每隔一个单词的布尔标志,假设每个其他单词总是年份或元素。