Könnte mir jemand erklären, warum table.unpack()
das erste Tabellenelement nur zurückgibt, wenn es in einem Funktionsaufruf mit zusätzlichen Parametern nach table.unpack()
verwendet wird? Hiertable.unpack() gibt nur das erste Element zurück
ist einige Demo-Code:
local a = {1,2,3,4,5}
print("Test", table.unpack(a)) -- prints "Test 1 2 3 4 5"
print(table.unpack(a), "Test") -- prints "1 Test"
Ich verstehe nicht, warum die zweite Zeile nur 1 Test
druckt. Ich würde erwarten, dass es 1 2 3 4 5 Test
drucken wird. Kann jemand dieses Verhalten erklären? Ich würde auch interessieren, wie ich den zweiten Anruf zum Drucken 1 2 3 4 5 Test
machen kann.
Ich habe die gleiche Frage schon einmal gestellt: http://stackoverflow.com/questions/29892079/lua-unpack-messing-arguments –
Siehe bearbeiten. Ich habe auch nach einem Workaround gefragt. – Andreas
Siehe [hier] (http://Stackoverflow.com/a/31782250/183120), um zu wissen, wo in Lua eine Liste von Ausdrücken vorkommen kann. – legends2k