Chain Lua metatables如何改写为长尾词?

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

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

Chain Lua metatables如何改写为长尾词?

我有一个特殊的情况,其中有两个库L,M,它们使用G的metatable来定义metatable。数据中唯一的东东是__index。如何链接这两个metatable,以便如果一个中间的__index失败,则调用另一个中的索引?有一个met吗?

我有一种情况,其中两个库L,M试图为_G设置metatable(分别命名为mL,mM).元数据中唯一的东西是__index.

如何链接这两个metatable,以便如果一个中的__index失败,则调用另一个中的索引?

有一个metatable存储mL和mM,如果一个返回nil,检查另一个:

Chain Lua metatables如何改写为长尾词?

local metatbl = {} metatbl.tbls = {mL, mM}; function metatbl.__index(intbl, key) for i, mtbl in ipairs(metatbl.tbls) do local mmethod = mtbl.__index if(type(mmethod) == "function") then local ret = mmethod(table, key) if ret then return ret end else if mmethod[key] then return mmethod[key] end end return nil end end setmetatable(_G,metatbl)

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

Chain Lua metatables如何改写为长尾词?

我有一个特殊的情况,其中有两个库L,M,它们使用G的metatable来定义metatable。数据中唯一的东东是__index。如何链接这两个metatable,以便如果一个中间的__index失败,则调用另一个中的索引?有一个met吗?

我有一种情况,其中两个库L,M试图为_G设置metatable(分别命名为mL,mM).元数据中唯一的东西是__index.

如何链接这两个metatable,以便如果一个中的__index失败,则调用另一个中的索引?

有一个metatable存储mL和mM,如果一个返回nil,检查另一个:

Chain Lua metatables如何改写为长尾词?

local metatbl = {} metatbl.tbls = {mL, mM}; function metatbl.__index(intbl, key) for i, mtbl in ipairs(metatbl.tbls) do local mmethod = mtbl.__index if(type(mmethod) == "function") then local ret = mmethod(table, key) if ret then return ret end else if mmethod[key] then return mmethod[key] end end return nil end end setmetatable(_G,metatbl)