2012-06-09 103 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