lua学习笔记7(函数的学习)

print("*****************************函数的学习*******************************")
print("*****************************无参数无返回值函数的学习*******************************")
function f1()
	print("f1函数")
end
f1()
f2=function()--使用这种方式就不能给后面的函数取名字不然会报错
	print("f2函数")
end
f2()
print("*****************************有参数函数的学习*******************************")
function f3(a)
	print(a)
end
f3(114514)
f3("谢谢你泰罗")
f3(true)
f3()--不传参数默认为nil
f3(8848,5558,1919)--传的过多后面的会被丢弃
print("*****************************有返回值的函数的学习*******************************")
function f4(a)
	return a,"114514",true
end
--多返回值时,在前面申明多个变量即可
--如果变量不够或者过多不影响,返回值会截取对应位置的值,如果过多会返回nil
temp1,temp2,temp3,temp4=f4("1")
print(temp1)
print(temp2)
print(temp3)
print(temp4)
print("*****************************函数的类型*******************************")
f5=function()
	print("你干嘛,哎呦")
end
print(type(f5))--函数的类型就是function
print("*****************************函数的重载*******************************")
--函数名相同 参数类型不同 或者参数个数不同
--lua中函数不支持重载
--默认调用最后一个声明的函数
function f6()
	print("谢谢你赛文")
end
function f6(a)--这个会覆盖上面的函数
	print(a)
end
f6()--这个会打印nil而不是"谢谢你赛文"
f6("谢谢你泰罗")
print("*****************************变长参数*******************************")
function f7(...)
	--变长参数使用 用一个表存起来再使用
	arg={...}
	for i=1,#arg do--循环遍历出表的数据
		print(arg[i])
    end
end
f7(114514,"你就是个笨蛋",true,4,5,6)
print("*****************************函数嵌套*******************************")
function f8()
	return function()
		print(1145114)
	end
end
f9=f8()
f9()
--闭包
function f9(x)
	return function(y)
		return x+y
    end
end
f10=f9(10)
print(f10(5))--我觉得可以这样理解因为f10表示的是f9这个函数,f10()就表示函数里面的函数(如果不对欢迎指正)

输出

 

相关推荐

  1. 26、Lua 学习笔记之四(Lua基本函数库)

    2024-04-07 11:00:03       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-07 11:00:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-07 11:00:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-07 11:00:03       82 阅读
  4. Python语言-面向对象

    2024-04-07 11:00:03       91 阅读

热门阅读

  1. jQuery的链式编程

    2024-04-07 11:00:03       39 阅读
  2. 字符串匹配问题(strs)(栈)

    2024-04-07 11:00:03       41 阅读
  3. 关于Spring Boot

    2024-04-07 11:00:03       38 阅读
  4. 新手如何学习理解Python装饰器

    2024-04-07 11:00:03       107 阅读
  5. 机器学习——卷积神经网络的反向传播算法

    2024-04-07 11:00:03       43 阅读
  6. WPF封装一个鼠标事件控件界面框选的功能

    2024-04-07 11:00:03       54 阅读
  7. 算法| ss 二叉树

    2024-04-07 11:00:03       36 阅读
  8. 软件工程,系统设计

    2024-04-07 11:00:03       36 阅读
  9. 软件工程

    2024-04-07 11:00:03       31 阅读
  10. 【C语言】生命周期&作用域选择题

    2024-04-07 11:00:03       39 阅读