数组作为 lua table 中的值

Array as value in a lua table

我找不到问题的答案:你能在 lua table 中有一个数组作为值吗?

local colors = {"blue" = {0,0,1,1}, "green" = {0,1,0,1}, "red" = {1,0,0,1} , "orange" = {0.5, 0, 0.5, 1}, "black" = {0,0,0,1}, "gold" = {1, 215/255, 0, 1}}

我在使用 corona sdk 的这一行收到错误:

'}' expected near '='

一直是 tables :-) 是的,tables(包括像数组一样索引的)可以是 Lua 中 tables 的元素. chapter in the Lua manual 解释了定义 table.

元素的不同方法

在您的示例中,您不应在键周围加上引号。

local colors = { blue = { 0, 1, ...}, green = { ... }, ... }

或者你可以这样做:

local colors = {}
colors[ "blue" ] = { 0, ... }
colors[ "green" ] = ...

colors.blue = { 0, ....  }
colors.green = ....

后者是syntactic sugar其他形式。