Lua--初学--function

这篇博客详细介绍了Lua中的函数用法,包括函数格式、参数处理、返回值、函数类型检查、重载机制、变长参数以及函数嵌套与闭包。通过示例解释了如何声明和调用函数,特别强调了Lua不支持函数重载以及如何处理变长参数。
摘要由CSDN通过智能技术生成

1.函数的格式

function  function_name()
end

或者

a=function()
end

函数声明之前,不能调用----与C#不同的是,C#在new的时候,就编译好了,就可以随时调用;lua要先声明,在调用
从第二种可以看出,func是一种变量类型。有点类似与c#中的委托和事件的写法

2.有参数的函数格式----多传了参数会丢弃,少传了参数会补空

function function_name(arg)
    print(a)
end

注意arg是不指定变量类型的。注意的是,在使用参数的时候,有些类型不能做的操作,就会报错,如调用的时候,传进去true,使用…就会报错。
如果调用的时候纯进去的参数,和函数的个数不匹配,只会补空nil----不传进去参数或者丢弃----多传

3.返回值----当接收的变量,少于返回出来的变量的时候,会丢弃;当接收的变量,多于返回出来的变量的时候,会补空;

function function_name(arg)
	return arg
end

只需要在调用的时候,外部使用变量来接取即可。

当函数有多返回值的时候,前面声明多个变量来接取即可
如果变量不够,不影响,变量会给对应的位置的返回值
如果变量超了,超的变量会取得nil值

4.函数的类型type(function_name),得到的是function

5.函数的重载
lua是不支持,函数重载
如果有两个函数名字相同的函数,会默认调用,最后一个声明的函数
编译器认为的只是改变了函数的赋值而已

6.变长参数----可变参数,使用的时候,先使用一个表,来存储参数,不限制参数类型

function function_name(...)
	arg={
   ...}
	for i=1,#arg do
		
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值