本文介绍了Lua unpack()混乱的参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个测试功能,可以简单地打印传递给它的值

I have this test function which simply prints values passed to it

function test1(...)
  for k, v in ipairs(arg) do
    print(v)
  end
end

function test2(...)
  for k, v in pairs(arg) do
    print(v)
  end
end

-- GOOD behavior
test1(1, 2, 3, 4) -- produces 1 2 3 4
test2(1, 2, 3, 4) -- produces 1 2 3 4

-- BAD behavior
test1( unpack({1,2}), 3, 4) -- produces 1 3 4
test2( unpack({1,2}), 3, 4) -- produces 1 3 4 3

有人可以向我解释这种行为吗?

Can someone explain this behavior to me ?

推荐答案

此行为并非特定于unpack. Lua参考手册说:

This behavior is not specific to unpack.The Lua Reference Manual says:

(我的重点)

这篇关于Lua unpack()混乱的参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-23 18:26