在表上的同一调用中设置2个键的值

时间:2016-04-25 21:46:10

标签: lua

我要找的是这样的代码。

{{1}}

所以这肯定是设置2个键的错误方法。 (返回错误)

1 个答案:

答案 0 :(得分:5)

您收到错误,因为Lua没有将多个键设置为表构造函数中单个值的语法。

您有几个选项,当使用表作为数组(序列)时,您可以省略键:

local t = {'abc', 'abc'}

如果您不想重复该值,请使用变量:

local init = 'abc'
local t = {init, init}

或者,编写一个函数来进行初始化:

local function initialize(t, v, first, last)
    first = first or 1
    last = last or first
    assert(first <= last, 'invalid first/last')
    for i = first, last do
        t[i] = v
    end
    return t
end

local t = initialize({}, 'abc', 1, 2)