Lua层次结构字符串到表
发布时间:2020-12-15 00:16:25 所属栏目:大数据 来源:网络整理
导读:有没有办法可以将层次结构字符串转换为表格形式? 假设输入是A.B.C.D. 输出应该是一个遍历输入的表: A = {} A.B = {} A.B.C = {} A.B.C.D = {} 谢谢. 解决方法 显而易见的解决方案是解析字符串并从中构造层次结构表.但更聪明的解决方案是让lua为你做.通过一
有没有办法可以将层次结构字符串转换为表格形式?
假设输入是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 = { } } } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |