Lua直接将string.gmatch写入表变量

问题描述 投票:0回答:0

是否可以直接将 gmatch 的所有输出值写入表中,而无需使用 for 遍历所有值?

我得到了这个导出字符串

!Elwynn Forest:Player-3674-0B18B930;false;0;false*!Player-3674-0B18B930:1;Rasudruid;Murky;500;0;1*!currentRound:1*!turnStatus:roll*!currentTurn:1*!

和这段代码从字符串中提取数据

local function loadGameFromString(string)
    for exportValue in string.gmatch(string, '!([^!]+)*') do
        print(exportValue)
        local prefix = string.match(exportValue, '([^:]+):')
        for data in string.gmatch(exportValue, '[:;]+([^:^;]+)') do
            print(data)
            if propertyCards[prefix] then
                print("card")
            elseif string.find(prefix, "Player") then
                print("player")
            else
                print("gameData")
            end
        end
    end
end

现在我只想遍历所有匹配项,但将它们写入变量然后分配数据会更容易

gameData = {
    name = match[1],
    state = match[2]
}
lua string-matching
© www.soinside.com 2019 - 2024. All rights reserved.