一.lua函数
函数是对语句表达式进行抽象的主要方法。
1.lua函数有两种用途
1).完成指定的任务,函数做调用语句使用;2).计算并返回值,作为赋值表达式使用。
2.lua函数格式
optional_function_scope function function_name( argument1, argument2, argument3..., argumentn)
function_body
return result_params_comma_separated
end
optional_function_scope: 该参数是可选的制定函数是全局函数还是局部函数,未设置该参数默认为全局函数,如果你需要设置函数为局部函数需要使用关键字 local。
function_name: 指定函数名称
argument1, argument2, argument3..., argumentn: 函数参数,多个参数以逗号隔开,函数也可以不带参数
function_body: 函数体,函数中需要执行的代码语句块。
result_params_comma_separated: 函数返回值,Lua语言函数可以返回多个值,每个值以逗号隔开。
注意:lua函数要先定义后使用。
3.关于lua函数的部分代码
1 ------------------------------lua脚本变量定义及函数相关知识点------------------------------------------------------ 2 ---局部变量 3 local test = "中国人民共和国" 4 --print \'hell0\' 5 print (test) 6 --testfun(1) 7 ---全局变量赋值与java不同需要注意 8 a,b,c=0,1,2 9 print(a,b,c) 10 ------全局函数,局部函数使用local关键字修饰 11 function testfun(n) 12 if n < 10 then 13 print ("当前值为:",n) 14 else 15 print("值不合法为:",n) 16 end 17 end 18 19 20 -----全局函数定义 21 function Max2(a,b) 22 if a > b then 23 print(a) 24 else 25 print(b) 26 end 27 end 28 -----全局函数另一种定义方式 29 mytest = function(parame) 30 print("mytest---1212:",parame) 31 end 32 ----全局函数定义并将函数作为参数。 33 function add(a,b,functionTest) 34 result = a+b; 35 functionTest(result) 36 end 37 38 mytest(12) 39 40 add(1,3,mytest) 41 42 ------将 43 add(2,3,testfun) 44 add(21,3,testfun) 45 46 47 print("---------函数的多返回值------------") 48 49 50 ---------函数的多返回值------------ 51 s,e = string.find("www.rooboot.com","roo") 52 print(s,e) 53 54 function minnum(a) 55 local mi =1; 56 local m=a[mi]; 57 for i, val in ipairs(a) do 58 if val<m then 59 mi = i 60 m = val 61 end 62 end 63 return m,mi; 64 end 65 66 print(minnum{1,2,3,4,4,5,78,8}); 67 68 69 function add2(...) 70 s =0; 71 local args = {...} 72 73 for i ,val in ipairs(args) do 74 s=s + val; 75 end 76 77 print("总共传入的参数个数:"..select("#",...).."===="..#args) 78 return s; 79 end 80 81 print(add2(1,1,1,1,1,1,1,1,1)); 82 83 84 85 86
请发表评论