我是 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/