Lua 学习笔记(四) —— 函数(一)

今天,进入函数的学习,这是我的笔记,同时也愿意分享给大家。

一.函数参数
1.函数的所有参数必须放在一堆圆括号中,除了一种情况
一个函数只有一个参数,并且此参数是一个字面字符或者table构造式,圆括号可有可无。
例如:print "hello world"  <==> print("hello world")


2.若实参多于形参,舍弃多余实参;若实参不足,多余形参初始化为nil

二.函数返回值
1.函数允许返回多个返回值。
1.1 return 
return 返回多个返回值时,只需要在return 后列出所有的返回值
例如:return m,n


2.函数调用获取返回值
2.1只有当一个函数调用是以下表达式中的最后一个元素(或者仅有一个元素)时,才获得它的所有返回值。
4种表达式:多重赋值、函数调用时传入的实参列表、table的构造式和return语句。

2.2一个函数调用不是以上4种表达式的最后一个元素,那么将只产生一个值,且为第一个值。


2.3迫使函数只返回一个结果
将一个函数调用放入一对圆括号中。
例如: function f()
       return "a","b"
   end

   print((f())) --> a


三.变长参数
1.   ... 
1.1作为参数 --> 表示该函数可接受不同数量的实参。
例如:
function add(...)
local s = 0
for i,v in ipairs{...} do
s = s+ v
end
return s
end


1.2作为表达式 
例如:local a,b = ...


2.具有变长参数的函数同样也可以拥有固定参数,但固定参数必须放在变长参数之前。

四.具名实参
实参是通过它在参数表中的位置与形参匹配起来的,特殊情况:具名实参。(通过名称来指定实参)
将所有实参组织到一个table中,并将这个tabke作为唯一的实参传给函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值