我一直在研究过去的一小时,并且已经完成了它应该如何运作。
我想访问Lua中的3d表中的数据,所以这是我的代码:
class ErplMacro(val c: Context) {
def lift[T:c.WeakTypeTag](exp: c.Expr[T]) = {
import c.universe._
q"""ErplRuntime.compile(scala.reflect.runtime.universe.reify($exp))"""
}
}
object ErplRuntime {
def compile[T](ctxElems: (scala.Symbol,Any)*)(exp: Expr[T]): Unit = // ...
}
trait ErplApi {
def compile[T](exp: T): Unit = macro ErplMacro.lift[T]
}
它总是给我一个错误,该键是一个零值。但是如果使用
test_table = {
info = {
name = "John",
age = 25
}
}
for key, value in pairs(test_table) do
print(test_table.key[value].name)
end
它返回信息。所以我不确定我做错了什么,我还没找到解决方案,所以请帮助我!谢谢!
答案 0 :(得分:2)
test_table = {
info = {
name = "John",
age = 25
}
}
for key, value in pairs(test_table) do
print(test_table[key].name)
end
您正在为test_table["key"][the_table]
编制索引而不是test_table[key]
说到,你可以使用价值并避免查表,因为它也会被返回。
for key, value in pairs(test_table) do
print(value.name)
end