Lua将文本文件读取到数组中

时间:2012-06-09 13:38:17

标签: 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的文本文件中的行数。我该怎么办?

另外,如果还有其他更简单的方法,请告诉我。

1 个答案:

答案 0 :(得分: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