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 的文本文件的行数。我该怎么做?

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

点赞
用户734069
用户734069

你不需要获取行号。只要继续进行,直到没有更多的行为止。

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
2012-06-09 15:06:21