2014-05-12 102 views
3

我想匹配文本文件中一行文本上的三段數據,並將它們存儲在表格元素中。每一行看起來是這樣的:string.match拋出錯誤:嘗試索引字段'?' (字符串值)

0.277719 0.474610 This 
0.474610 0.721241 is 
0.721241 1.063209 test 

我有一個本地表來保存文本行,我試圖來分配數據塊如下。

local data = {} 
local file = io.open("audio/audio.txt", "r") 
local i = 1 
for line in file:lines() do 
    data[i] = line 
    data[i].start, data[i].out, data[i].name = string.match(line, '(%S+)%s*(%S+)%s*(%S+)') 
    i = i + 1 
end 

data[i] = line部分工作得很好。下一行不行。 我得到的是上線data[i].start, data[i].out, data[i].name = string.match(line, '(%S+)%s*(%S+)%s*(%S+)')以下錯誤:

attempt to index field '?' (a string value) 

我在做什麼錯?

回答

6

的錯誤是在線路

data[i] = line 

這條線使數據[I]其中不能有索引到它的其他串的字符串變量。將該行更改爲:

data[i] = {} 

並且一切正常。

相關問題