【问题标题】:How would I insert a table in another table that is in another table which is in another?如何在另一个表中的另一个表中插入另一个表?
【发布时间】:2020-02-27 00:43:47
【问题描述】:

我有一个关于 LUA 的问题。

我在修改旧的视频游戏时使用 LUA 已经有一段时间了,最​​近我遇到了一个问题,经过几天的尝试后我无法解决。

简单来说,我要做的就是在另一个表中插入一个数据表,但是我尝试插入的表恰好位于另一个表中,它本身就是一个条目还有一张桌子。

我知道这听起来一定很混乱,因此我做了一个简化的图表。

在下图中,我想将“[1]”插入“[“Platforms”]”。

VehicleClass = {}

VehicleClass[1] =
{

     ["Platforms"] = {},

     [1] = {*data*},

}

换句话说,我的主要问题改写为: 如何在不执行以下操作的情况下将“[1]”插入“[Platforms]”:

VehicleClass = {}

VehicleClass[1] =
{

     ["Platforms"] = {

          [1] = {*data*},

     },

}

我在这里尝试实现的一个值得注意的事情是在“VehicleClass[1]”内将“[1]”插入“[“Platforms”]”,但我已经有点怀疑这是不可能的。

我还是 LUA 的初学者,因此我花了一些时间尝试自己解决这个问题。之前我尝试过这样的事情:

VehicleClass = {}

VehicleClass[1] =
{

     ["Platforms"] = {},

     [1] = {*data*},

     table.insert(VehicleClass[1]["Platforms"], VehicleClass[1][1]),
}

VehicleClass = {}

VehicleClass[1] =
{

     ["Platforms"] = {},

     ["Platforms"][1] = {*data*},
}

但是我之前的所有尝试都失败了。

我可能错过了这里需要的一些特殊 LUA 格式,因为我说过我还是 LUA 的初学者。

在此先感谢,我希望我最终能够得到一些专家的建议。

【问题讨论】:

    标签: lua


    【解决方案1】:

    如果你尝试插入数据试试:

    table.insert(VehicleClass[1]["Platforms"], 1, {*data*})
    

    如果不存在则尝试插入,如果存在则更新,则尝试:

    VehicleClass[1]["Platforms"][1] = {*data*}
    

    如果你尝试创建这个对象:

    VehicleClass =
    {  
      {
        ["Platforms"] = {
          {*data*}
        }
      }
    }
    

    如果您对此感到困惑,那么我建议分阶段进行:

    local myPlatformData = {*data*}
    local myPlatformsData = { myPlatformData }
    local myVechicle = { ["Platforms"] = myPlatformsData }
    VehicleClass = { myVechicle }
    

    或者更简单:

    local myPlatformData = {*data*}
    
    local myPlatformsData = {}
    myPlatformsData[1] = { myPlatformData }
    
    local myVechicle = { ["Platforms"] = myPlatformsData }
    VehicleClass = {}
    VechicleClass[1] = myVechicle
    

    【讨论】:

      猜你喜欢
      • 2021-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-12
      • 1970-01-01
      • 2016-06-11
      • 1970-01-01
      相关资源
      最近更新 更多