2012-06-09 102 views
1

我怎麼能讀這樣的文件:Lua的閱讀文本文件陣列

11111 
10001 
10001 
10001 
11111 

要一個二維數組是這樣的:

{{1, 1, 1, 1, 1}, 
{1, 0, 0, 0, 1}, 
{1, 0, 0, 0, 1}, 
{1, 0, 0, 0, 1}, 
{1, 1, 1, 1, 1}} 

在Lua中?

這是我想到的:

for i = 1, number_of_lines do 
    current_line = map_file:read("*line") 
    character_array = {} 
    for i = 1, #current_line do 
    table.insert(character_array, current_line[i]) 
    end 
end 

不過,我不知道怎麼去「NUMBER_OF_LINES」,這是在和Lua文本文件的行數。我該怎麼做?

此外,如果還有其他一些更簡單的方法,請告訴我。

回答

6

您不需要獲取行數。只要繼續下去,直到你用完線條。

local line_data = {} 
for line in map_file:lines() do 
    local character_array = {} 
    for i = 1, #line do 
    character_array[#character_array + 1] = line[i]; 
    end 
    line_data[#line_data + 1] = character_array 
end