Lua的可变参数(arg)变量为空。

我已经复制了一个"类"List,并对其进行修改,使得"new"函数可以接收可变数量的参数,并将这些值添加到列表本身。然而,'arg'变量总是nil,我不确定原因是什么。

List = {}

function List.new(...)
    local obj = { first = 0, last = -1 }

    if arg ~= nil then
        -- push any values passed in
        for k,v in pairs(arg) do
            List.pushleft(obj, v)
        end
    end

    return obj
end

function List.pushleft(list, value)
    local first = list.first - 1
    list.first = first
    list[first] = value
end

local test = List.new("Food", "Bandage")
点赞