Lua表構造器的索引問題

2021-10-21 08:50:24 字數 771 閱讀 3921

lua的表有多種構造方式,最簡單的就是空構造器。

mytable =

mytable =

mytable =

mytable =

但是,如果列表式和帶方括號的表示式混用,結果就會和期望的不同了。就像下面這個表構造器的寫法。

mytable =

這個表的列印結果是:

33

--index:1

44--index:2

根據這個結果,我實驗了更多種組合,最後發現,生成表時並不是按照構造器內元素的順序生成的,使用列表式的元素會最後生成,並且索引從1開始。在上面的例子中,「1001」的索引是[1],「1002」的索引是[2]。接下來是列表式的元素,生成「33」的時候,索引也是從[1]開始,會覆蓋掉前面的「1001」,同理「44」的索引[2]會覆蓋掉前面的「1002」,所以從列印的結果來看只要「33」和「44」。

--換一種順序,列表型還是會覆蓋

mytable =

列印結果:

33--index:1

44--index:2

因為我還沒看過table內部的**,以上全是我個人實驗後的分析,有錯誤或者不足之處,歡迎指正!

LUA 表的構造

構造器是建立和初始化表的表示式。表是lua特有的功能強大的東西。最簡單的建構函式是 用來建立乙個空表。可以直接初始化陣列 days lua將 sunday 初始化days 1 第乙個元素索引為1 用 monday 初始化days 2 print days 4 wednesday 建構函式可以使用任何...

子類構造器呼叫父類構造器的順序問題

一 super呼叫父類構造器 二 構造器呼叫順序示例 1 示例 class creature class animal extends creature public animal string name int age public class wolf extends animal public...

Lua簡單使用,lua工具類編寫,lua表的使用

專案中的工具類編寫,以utils.lua為例 首先建立乙個表。utils utils or 尋找陣列中某個值的下標 utils utils or 尋找陣列中某個值的下標,僅在table中每個值都不一樣時有效 utils.findidxbyvalue function arr,value local ...