在Lua中拼接一个函数名称

这可能非常简单,但我是个新手所以让我们开始吧。。

我应该如何编写这个代码:

local color1 = { 255,0,0 }
local color2 = { 1,200,1 }
local color3 = { 2,2,150 }
for i = 1, 3 do
    local x = "color" .. i[i]
    print( x )
end

我要求的输出结果

255
200
150
点赞
用户1190388
用户1190388

如果 color1color2color3 表是静态的,你可以使用以下方法:

local color1, color2, color3 = { 255,0,0 }, { 1,200,1 }, { 2,2,150 }
color = { color1 = color1, color2 = color2, color3 = color3 }
for i = 1, 3 do
    local x = color["color"..i][i]
    print( x )
end

输出:http://codepad.org/qL5K3jNq

2013-05-26 12:22:37
用户90511
用户90511

最简单的解决方案是将颜色信息放在一个数组中

local colors = {
    { 255,0,0 },
    { 1,200,1 },
    { 2,2,150 },
}

-- 手动迭代:
for i=1, #colors do
    local rgb = colors[i]
    print(rgb[i])
end

-- ipairs 是另一种做同样事情的方法
for i, rgb in ipairs(colors) do
    print(rgb[i])
end
2013-05-26 15:31:09