在 Lua 中可以通过"表里嵌套表"的方式构造二维数组。下面的例子把 VIP 等级配置放进一张二维表里,外层 key 是 VIP 等级,内层 key 是该等级对应的具体字段。

定义二维表

新建文件 vip.lua,返回一张以等级为外层 key、以字段名为内层 key 的表:

vip.lua
                local vip={
                  [0] = {
                    ['needGems'] = 0,
                    ['point'] = 0,
                  },
                  [1] = {
                    ['needGems'] = 50,
                    ['point'] = 15,
                  },
                  [2] = {
                    ['needGems'] = 460,
                    ['point'] = 445,
                  },
                  [3] = {
                    ['needGems'] = 960,
                    ['point'] = 500,
                  },
                
                }
                return vip

读取二维表中的元素

在另一个脚本里用 require 引入这张表,再通过两层下标依次取出外层等级和内层字段。下面这段代码会打印 VIP 2 的 point 值:

local vip=require("vip")
                
                local function main()
                
                  print(vip[2]["point"]);
                
                end
                main()