【问题标题】:Array as value in a lua table数组作为lua表中的值
【发布时间】:2017-09-04 20:24:59
【问题描述】:

我找不到我的问题的答案:你能在 lua 表中将数组作为值吗?

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 时遇到了这一行的错误:

'}' 预计在 '=' 附近

【问题讨论】:

  • 语法错误,允许:["blue"]= {0,0,1,1} or blue= {0,0,1,1}

标签: arrays lua coronasdk key-value lua-table


【解决方案1】:

它一直是表格 :-) 是的,表格(包括像数组一样索引的表格)可以是 Lua 中表格的元素。这个chapter in the Lua manual 解释了定义表格元素的不同方法。

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

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

或者你可以这样做:

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

或者

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

其他形式为syntactic sugar

【讨论】:

  • 您可以在 sting 键周围加上引号:local colors = { ["blue"] = { 0, 1, ...}, ["green with spaces"] = { ... }, ... }
猜你喜欢
  • 2014-04-14
  • 2013-08-15
  • 2015-05-15
  • 2017-05-15
  • 2012-06-28
  • 2017-04-22
  • 1970-01-01
  • 1970-01-01
  • 2012-12-10
相关资源
最近更新 更多