Lua-function(函数)

1.无参无返回值

--> 函数的定义
--> (1)
function Say()
	print("lua") 
end
Say() --> 调用函数--lua

--> (2)
var = function()
	print("lua")
end
var()--lua

2.无参有返回值

var = function()
	return "lua"
end
print(var())--lua

3.有参无返回值

var = function (arg)
	print('Hello'..arg)
end
var(" lua") --Hello lua

4.有参有返回值

var = function (a,b)
	return a + b
end
print(var(1,2)) --3

函数作为参数传递给函数

--> 演示:函数作为参数传递给函数
function MyFunc(para)
	para()
end
var = function (a,b)
	print("函数内部执行函数")
end
MyFunc(var)

--> 演示2:
function myPrint(param)
	print("----两个数的和为----",param)
end

function Add(num1,num2,funcParam)
	result = num1 + num2
	funcParam(result)
end

Add(1,10,myPrint)

在lua中函数可以有多个返回值

function F(a,b)
	return a + b,a - b,a * b,a / b
end

v1,v2,v3,v4 = F(10,10)
print(v1)
print(v2)
print(v3)
print(v4)

lua中函数可变的参数列表

function Sum( ... )
	print("这是一个求和函数")
	local args = { ... }
	print("总共传入"..#args.."个参数")
	sum = args[1] + args[2]
	print('和值为',sum)
end
Sum(1,2)

** 练习 **

--> 练习1:比较两个数的大小,返回最大的数
--> 第一种:
var = function(a,b)
	if a > b then
		return a
	else
		return b
	end
end
print(var(56,44))

--> 第二种:
function Max(num1,num2)
	return num1 > num2 and num1 or num2
end
print(Max(12,33))


--> 练习2:利用可变参数列表求和值,使用任意一种循环求和值

function Sum( ... )
	local arg = { ... }
	sum = 0
	for i = 1,#arg do  --> #arg表示传入了多少个参数
		sum = sum + arg[i]
	end
	return sum
end
print(Sum(1,2,2,6,10))

--> lua中的库函数  --- math
--> floor 向下取整
a = 5.125
b = 5.75
b = b + 0.5
print(math.floor(a))
print(math.floor(b))

-- 伪随机数
--print(math.random(100))
--math.min()
--math.max()
-- 作业:完成随机数
--math.random(math.min(),math.max())


print(math.abs(-10)) -- 绝对值

-- assert 和 loadstring
-- 1.
function Hello()
	print('Hello world')
end

str = "Hello()"
print(str) -- Hello()
assert(loadstring(str))() --Hello world

-- --> 2.
a = "Hello lua"
b = "print(a)"
assert(loadstring(b))()
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值