一、函数
--函数 无返回值
function onStartGame( )
-- body
print('开始游戏')
end
--调用函数
onStartGame()
--函数有返回值
function judgeResult( num1,num2 )
-- body
return num1+num2
end
--调用函数并把返回值赋值给 result
result= judgeResult(30,60)
print(result)
--函数有返回值,并且返回值有两个或则两个以上
function judgeRerunDoubleValue( num1,num2 )
-- body
local sum= num1+num2
local reduce = num1-num2
return sum,reduce --两个返回值
end
--调用函数,函数返回值为两个,要用两个变量接收,
result1,result2= judgeRerunDoubleValue(100,30)
print(result1,result2)
--调用函数,函数返回值为两个,但是只用一个变量接收,接收的是第一个返回值
result3= judgeRerunDoubleValue(100,30)
print('直接收第一返回值 '..result3)
--函数当作参数
function funcationPar( num1,num2 ,func)
-- body
return func(num1,num2)
end
--调用函数并把上面的 judgeResult 函数传入
funParResult= funcationPar(30,40,judgeResult)
print('函数当参数传入 '..funParResult)
--匿名函数1
function funcTest( num1,num2,funct )
-- body
funct(num1,num2)
end
--调用funcTest函数的时候,传入匿名函数
funcTest(15,4,function ( k1,k2 )
-- body
print('匿名函数输出乘积 '.. k1*k2)
end)
--匿名函数2,把匿名函数赋值给一个变量
noNameFun=function ( )
-- body
print('我是匿名函数')
end
--调用函数
noNameFun()
输出结果
总结
1.定义函数用关键字 function
2.函数有返回值时,函数不用定义返回值类型
3.当函数有两个返回值的时候,需要用两个变量接收!如果只用一个变量接收,接收的是第一个返回值
4.函数可以当作参数传参
5.匿名函数一般只在局部使用
6.函数可以赋值给一个变量