簡體   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