如何将复杂Lua层次结构字符串转换成长尾词?

2026-04-01 20:131阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计258个文字,预计阅读时间需要2分钟。

如何将复杂Lua层次结构字符串转换成长尾词?

可以将层次结构字符串转换为表格形式。假设输入为 A.B.C.D,输出应为:

A | B | C | D- | - | - | - | | |

谢谢。显然的解决方案是解析字符串并从中间构建表格。

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

假设输入是A.B.C.D.

输出应该是一个遍历输入的表:
A = {}
A.B = {}
A.B.C = {}
A.B.C.D = {}

如何将复杂Lua层次结构字符串转换成长尾词?

谢谢.

显而易见的解决方案是解析字符串并从中构造层次结构表.但更聪明的解决方案是让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 = { } } } } }

本文共计258个文字,预计阅读时间需要2分钟。

如何将复杂Lua层次结构字符串转换成长尾词?

可以将层次结构字符串转换为表格形式。假设输入为 A.B.C.D,输出应为:

A | B | C | D- | - | - | - | | |

谢谢。显然的解决方案是解析字符串并从中间构建表格。

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

假设输入是A.B.C.D.

输出应该是一个遍历输入的表:
A = {}
A.B = {}
A.B.C = {}
A.B.C.D = {}

如何将复杂Lua层次结构字符串转换成长尾词?

谢谢.

显而易见的解决方案是解析字符串并从中构造层次结构表.但更聪明的解决方案是让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 = { } } } } }