lua - 如何使用这个LUA表呢?

标签 lua

我是 LUA 新手,我正在使用它来创建一些 Envoy 过滤器。所以,我找到了一段带有这样的表的代码:

MyClass = {
  [":path"] = "something"
}

我想向 MyClass 添加一个构造函数,所以我这样做:

function MyObject:new (o, path)
   o = o or {}
   setmetatable(o, self)
   self.__index = self
   self.path = path -- Here is the problem
   return o
end

所以,我的问题是:如何访问构造函数中的 [":path"] 变量来赋值?

self.path 不起作用

self.:path 不起作用

self.[":path"] 不起作用

我在 Envoy 示例过滤器中找不到这种语法 [":foo"]。

感谢您的帮助

最佳答案

点符号是完整形式的语法糖。

table.name 相当于 table["name"]。所以在你的情况下它应该是 self[":path"]

关于lua - 如何使用这个LUA表呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56271219/

相关文章:

c++ - LuaBind:如何将类的特定实例绑定(bind)到 Lua?

lua - 为什么一个简单的 print(os.getenv ("HOME")) 得到 nil?

algorithm - 找到给定坐标/点列表的单独多边形的数量

multithreading - Lua - 如何模拟 "multithreading"?

lua - lua 中的 io.read() 错误

loops - 操作 Lua 表时遇到问题

lua - 如何引用在 Corona (Lua) 的表数组中创建的图像?

lua - 计算字符串出现的次数

regex - 如果某些东西前面没有其他东西,则匹配

未调用 Lua 元方法