Hier ist, was ich sehe:Was geschieht, wenn ich unpack() als lua's Funktionsargumente aufruft?
> function test(...)
>> for i, v in ipairs({...}) do
>> print(v)
>> end
>>end
-- This is expected
> test(unpack({1,2}))
1
2
-- When I mix unpack and regular arguments
-- What happened to 2?
> test(unpack({1,2}), 3)
1
3
-- What happened to 3?
> test(unpack({}), 3)
-- When I put regular args before unpack, everything is fine:
> test(1, unpack({2, 3}))
1
2
3
Als ich ausgepackt Argumente mit regelmäßigen args mischen, sind das Ergebnis seltsam. Kannst du erklären, was unter der Haube passiert?