Lua学习七----------Lua函数

© 版权声明:本文为博主原创文章,转载请注明出处

1.Lua函数

  - 完成指定的任务,这种情况下函数作为调用语句使用

  - 计算并返回值,这种情况下函数作为赋值语句的表达式使用

  - Lua函数可以返回多个值

  - Lua函数可以接口可变数目的参数

2.function.lua

function max(num1, num2)				-- 返回两个值的最大值
	if(num1 > num2) then
		return num1
	else
		return num2
	end
end

local num1 = 10
local num2 = 4
print(num1 .. "和" .. num2 .. "比较最大值为:" .. max(num1, num2))


function functionPrint(param)			
	print("传递过来的值为:" .. param)
end

function add(num1, num2, functionPrint)	-- 将函数作为参数传递
	result = num1 + num2
	-- 调用传递的打印函数
	functionPrint(result)
end

add(num1, num2, functionPrint)

function MultiValue()					-- 多返回值
	return 10, 20
end

a, b = MultiValue()

print("a = " .. a .. " b = ".. b)

function average(...)					-- 可变参数
	local args = {...}
	result = 0
	for i, v in pairs(args) do
		result = result + v
	end
	print("总共传入" .. #args .. "个参数")
	print(#args .. "个参数的平均值是:" .. result / #args)
end

average(10, 3, 2, 4, 112, -21)

3.效果预览

参考:http://www.runoob.com/lua/lua-functions.html

原文地址:https://www.cnblogs.com/jinjiyese153/p/6840744.html