麻烦在Lua中使用另一个模块

时间:2016-06-08 21:01:57

标签: lua corona

我想将所有颜色值存储在一个名为“colors-rgb.lua”的单独文件中,然后在需要时按名称抓取它们。该文件的基本结构是:

colorsRGB = {
    aliceblue = {240, 248, 255},
    antiquewhite = {250, 235, 215},
    aqua = { 0, 255, 255},
    aquamarine = {127, 255, 212},
    azure = {240, 255, 255},
    beige = {245, 245, 220},
    bisque = {255, 228, 196},
    black = { 0, 0, 0},
    ...
}

在我的main.lua中,我有

local colors = require("colors-rgb")
local blue = colors.colorsRGB.aliceblue

这给了我错误“尝试索引本地'颜色'(布尔值)”

我做错了什么?

2 个答案:

答案 0 :(得分:1)

您的return {colorsRGB = colorsRGB}文件中缺少colors-rgb.lua。由于您没有返回任何内容,因此Lua保存了模块的执行状态(作为布尔值)并将其作为require调用的结果返回。这就是为什么你得到关于尝试索引一个布尔值的错误。

参见Lua 2编程中的Modules and Packages章节。

答案 1 :(得分:0)

colors-rgb.lua 需要返回一个值。

local colorsRGB = {
    aliceblue = {240, 248, 255},
    antiquewhite = {250, 235, 215},
    aqua = { 0, 255, 255},
    aquamarine = {127, 255, 212},
    azure = {240, 255, 255},
    beige = {245, 245, 220},
    bisque = {255, 228, 196},
    black = { 0, 0, 0},
}
return colorsRGB