Я хочу проанализировать конфигурационный файл, который имеет такую информацию, как:
[MY_WINDOW_0]
Address = 0xA0B0C0D0
Size = 0x100
Type = cpu0
[MY_WINDOW_1]
Address = 0xB0C0D0A0
Size = 0x200
Type = cpu0
[MY_WINDOW_2]
Address = 0xC0D0A0B0
Size = 0x100
Type = cpu1
в таблицу LUA следующим образом
CPU_TRACE_WINDOWS =
{
["cpu0"] = {{address = 0xA0B0C0D0, size = 0x100},{address = 0xB0C0D0A0, size = 0x200},}
["cpu1"] = {{address = 0xC0D0A0B0, size = 0x100},...}
}
Я старался изо всех сил с некоторыми базовыми функциями манипуляции со строками LUA, но не смог получить вывод, который я ищу, из-за повторения строк в каждой секции, такой как 'Address', 'Size', 'Type' и т. Д. Также Мой настоящий конфигурационный файл огромен с 20 такими разделами.
Я дошел до того, что это, по сути, одна часть кода, остальное будет просто повторением логики.
OriginalConfigFile = "test.cfg"
os.execute("cls")
CPU_TRACE_WINDOWS = {}
local bus
for line in io.lines(OriginalConfigFile) do
if string.find(line, "Type") ~= nil then
bus = string.gsub(line, "%a=%a", "")
k,v = string.match(bus, "(%w+) = (%w+)")
table.insert(CPU_TRACE_WINDOWS, v)
end
end
В принципе, у меня проблемы с созданием ФИНАЛЬНОЙ СТРУКТУРЫ СТОЛА, которая мне нужна. v здесь различные значения строки «Тип». У меня проблемы с размещением в таблице. В настоящее время я работаю над поиском решения, но я подумал, что могу попросить о помощи.