在 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()