Lua程序设计(第2版)第五章学习随笔——函数

1. 函数名后面必须加(),只有当函数只有一个参数,并且此参数是一个字面字符串或table构造式时,()可有可无。

dofile 'a.lua'      <-->  dofile('a.lua')

f{x = 10, y = 20}  <-->  f({x = 10, y = 20})

type{}    <-->   type({})

 

2.  多重返回值

     1. 将函数调用作为一条单独的语句,舍弃函数所有返回值。

     2. 作为表达式一部分调用,保留第一个返回值。

     3. 作为一系列表达式中的最后一个元素,保留所有返回值。

 

3  unpack()   :从下标1开始返回该数组的所有元素。

 a, b = unpack{10, 20, 30}  --> a=10, b=20, 30被丢弃

重要用途:“泛型调用”机制

f = stirng.find

a = {"hello", "ll"}

f(unpack(a))   --> 3 4

 

4 select访问变长参数

for i = 1, select('#', ...) do

local arg = select(i, ...)   --得到第i个参数

  <循环体>

end

注:LUA5.0中用局部table变量“arg”来接受变长参数。缺点在于,每当调用变长参数的函数时都会产生一个新的table,而新机制只有在需要时才创建这个table。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值