尝试索引嵌套 table 并插入数字字符编号
Attempt to index nested table and insert numeric character number
local file = assert(io.open("E:\text.txt","r"))
local Table = {}
local function Sort()
for c in file:lines() do
Table[#Table + 1] = {}
print(c)
for i = 1,#c do
Table[#Table][i] = string.byte(c,i,i)
Table[#Table] = table.concat(Table[#Table])
end
print("hi")
print(table.concat(table))
end
end
Sort()
-- error:8: attempt to index a string value(field '?')
此 Lua 代码应该遍历文件的行并创建一个 table 其所有字符的数字表示。
在您的外循环中,您第一次设置 Table[1] = {}
。第一次通过内部循环时,您将 Table[1]
设置为 table.concat
的结果,这是一个字符串。下一次通过内部循环时 i=2
您正在尝试 Table[1][2]
,但 Table[1]
现在是一个字符串,因此出现错误。
local file = assert(io.open("E:\text.txt","r"))
local Table = {}
local function Sort()
for c in file:lines() do
Table[#Table + 1] = {}
print(c)
for i = 1,#c do
Table[#Table][i] = string.byte(c,i,i)
Table[#Table] = table.concat(Table[#Table])
end
print("hi")
print(table.concat(table))
end
end
Sort()
-- error:8: attempt to index a string value(field '?')
此 Lua 代码应该遍历文件的行并创建一个 table 其所有字符的数字表示。
在您的外循环中,您第一次设置 Table[1] = {}
。第一次通过内部循环时,您将 Table[1]
设置为 table.concat
的结果,这是一个字符串。下一次通过内部循环时 i=2
您正在尝试 Table[1][2]
,但 Table[1]
现在是一个字符串,因此出现错误。