Lua 3d表对函数返回nil值

时间:2017-02-14 22:10:55

标签: arrays multidimensional-array lua

我一直在研究过去的一小时,并且已经完成了它应该如何运作。

我想访问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

它返回信息。所以我不确定我做错了什么,我还没找到解决方案,所以请帮助我!谢谢!

1 个答案:

答案 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