gpt4 book ai didi

Lua 层次结构字符串到表

转载 作者:行者123 更新时间:2023-12-04 17:22:46 25 4
gpt4 key购买 nike

有没有办法可以将层次结构字符串转换为表格形式?

假设输入是 A.B.C.D
输出应该是一个在输入上方遍历的表:A = {}A.B = {}A.B.C = {}A.B.C.D = {}
谢谢。

最佳答案

显而易见的解决方案是解析字符串并从中构建层次结构表。但更聪明的解决方案是让 lua 为你做。通过一些 metamagic 和函数环境操作,可以做到:

dump = require 'pl.pretty'.dump -- convenient table dumper from penlight

function createtable(str)
local env_mt = {}
env_mt.__index = function(t, k)
rawset(t, k, setmetatable({}, env_mt))
return rawget(t, k)
end
local env = setmetatable({}, env_mt)
local f = loadstring("return "..str)
setfenv(f, env)
f()
return env
end

dump( createtable "A.B.C.D" )

这输出:
{
A = {
B = {
C = {
D = {
}
}
}
}
}

关于Lua 层次结构字符串到表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17585655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com