在Lua中连接函数名

时间:2013-05-26 11:59:46

标签: function lua concatenation

这可能很简单,但我是新人,所以我们走了......

我将如何编码:

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 

2 个答案:

答案 0 :(得分:3)

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

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

-- Iterating by hand:
for i=1, #colors do
    local rgb = colors[i]
    print(rgb[i])
end

-- ipairs is another way to do the same thing
for i, rgb in ipairs(colors) do
    print(rgb[i])
end

答案 1 :(得分:1)

如果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