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

Dav*_*mes 1 lua

我怎么能读这样的文件:

11111
10001
10001
10001
11111
Run Code Online (Sandbox Code Playgroud)

对于像这样的二维数组:

{{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}}
Run Code Online (Sandbox Code Playgroud)

在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
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何获得'number_of_lines',这就是带有Lua的文本文件中的行数.我该怎么做?

此外,如果有其他更简单的方法,请告诉我有关它.

Nic*_*las 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
Run Code Online (Sandbox Code Playgroud)