【问题标题】:array as parameter list lua数组作为参数列表lua
【发布时间】:2014-04-14 00:42:01
【问题描述】:

今天我正在使用 lua,用“oldesh”对我来说语言,并且确实找到了可以作为数组获取参数的东西,比如 soo:

function foo(someting,...)
    local arrayofargs = arg
    -- code here
end

现在,我很感兴趣。可以用“其他方式”吗?能不能传数组,不是数组,而是参数列表,像这样:

function bar(a1,a2)
    print(a1+a1)
end

function foo(someting,...)
    local arrayofargs = arg
    bar(arg)
end

是的,你不能那样做。但是我可以在家里做一些这样的事吗?

【问题讨论】:

    标签: lua arguments lua-table


    【解决方案1】:

    如果您说的是旧版本的 Lua 自动提供了一个 arg,其中包含由 vararg 函数接收的所有参数,那么您可以在函数的开头直接使用 local arg={...}

    如果要将数组转换为列表,请使用table.unpack

    所以,你的例子是

    function foo(someting,...)
        local arg={...}
        bar(table.unpack(arg))
    end
    

    但这没有多大意义,因为你可以这样做,更清晰更简单:

    function foo(someting,...)
        bar(...)
    end
    

    【讨论】:

    • 哦,那行得通...那很好 =) 会试试的。编辑:效果很好,ty!编辑2:谷歌搜索解包,发现你可以传递 i 和 j - 你想作为参数发送的开始和结束。那是更好的事件!
    猜你喜欢
    • 2017-04-22
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 2015-07-19
    • 1970-01-01
    • 2017-09-04
    • 2013-07-13
    • 2012-12-16
    相关资源
    最近更新 更多