unpack它接受一个数组(table)作为参数,并默认从下标1开始返回数组的所有元素,例子代码如下:
- do
- arrayData = {"a", "b", "c", "d", "e"};
-
- function returnMoreValues()
- return 1, 2, 3;
- end
-
- a, b, c = returnMoreValues();
-
- --print(a, b, c);
-
- --print((returnMoreValues()));
-
- --print(arrayData); -- print the address of the arrayData
- --print(unpack(arrayData)); -- print all the elements of the arrayData
- print(unpack(arrayData, 2)); --the second param is the index of the arrayData
-
- end
--->输出:
1
2
3
1
table: 007CB490
a
b
c
d
e
b
c
d
e
————————————————————————————————————————————————
注:减少使用 unpack()
函数
Lua的unpack()函数不是一个效率很高的函数。你完全可以写一个循环来代替它的作用。
使用unpack()
local a = { 100, 200, 300, 400 }
for i = 1,100 do
print( unpack(a) )
end
|
代替方法
local a = { 100, 200, 300, 400 }
for i = 1,100 do
print( a[1],a[2],a[3],a[4] )
end
|