繁体   English   中英

在lua中访问表的正确方法是什么?

[英]What's the correct way to access tables in lua?

我决定在空闲时间参加一些有趣的活动,为Garry的Mod,角色扮演添加一些有趣的插件。

我要添加的附件是允许租借特定的门,然后当有人租用该门时,主要所有者将收到定期付款!

我遇到了一些无法访问表格的问题。

-door是一个meta函数,是所有实体的属性。 -在这种情况下,它属于门。

cRentableDoors = cRentableDoors or {} -- Global table

    function door:makeRentableSub( doorParent )
    -- GetNWBool() is a function used to network information
    -- on entities from server to client. ( so we can draw HUDs etc )

        if self:GetNWBool( "IsRentable" ) == false or nil then
                self:SetNWBool( "IsRentable", true ) 
                self:SetNWBool( "IsSub", true ) 

                cRentableDoors[doorParent:MapCreationID()] = {
                    MainDoor = doorParent,
                    SubDoors = {{ent = self, key = self:MapCreationID()}}
                }

        end
    end

只有一个问题。 当我想添加几个子门时,“ SubDoors”表仅打印1个索引。 我在这里压倒什么吗?

随意问任何不确定的问题!

谢谢!

问题出在行中

SubDoors = {{ent = self, key = self:MapCreationID()}}

那里有两个级别的花括号,使该表达式等效于

SubDoors = { [1] = { ent = self, key = self:MapCreationID() } }

那是一个只有一个表的表的表。 只需去掉外面一对括号,就可以了,即

SubDoors = {ent = self, key = self:MapCreationID()}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM