Unpack函数

unpack它接受一个数组(table)作为参数,并默认从下标1开始返回数组的所有元素,例子代码如下:

[cpp] view plain copy
  1. do  
  2.     arrayData = {"a""b""c""d""e"};  
  3.   
  4.     function returnMoreValues()  
  5.         return 1, 2, 3;  
  6.     end  
  7.   
  8.     a, b, c = returnMoreValues();  
  9.   
  10.     --print(a, b, c);  
  11.   
  12.     --print((returnMoreValues()));  
  13.   
  14.     --print(arrayData); -- print the address of the arrayData  
  15.     --print(unpack(arrayData)); -- print all the elements of the arrayData  
  16.     print(unpack(arrayData, 2)); --the second param is the index of the arrayData  
  17.   
  18. 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




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值