[Lua基础学习]---Lua函数
2018-02-12 15:37
337 查看
函数
函数主要用途1、是作为调用语句使用。
2、作为赋值语句的表达式使用。
语法:
[局部/全局] function fun_name([参数列表]) 函数体 end function :定义函数关键字
注意:
1、在使用 Lua 函数/变量时一定要先定义函数/变量
2、lua 函数不支持参数默认值, 可以使用 or 解决。如:
function name(str1,str2,str3) str1 = str1 or "古梦" str2 = str2 or "古梦" str3 = str3 or "古梦" end
多返回值
什么叫多返回值,就是返回多个数值。Lua 函数可以返回多个结果值,其返回匹配串“开始和结束的下标”(如果不存在匹配串返回 nil)。
function fun_Test() return 1,2,3 end a,b,c,d = fun_Test() print(a,b,c,d) --结果: 1 2 3 nil
Lua 作为独立的语句调用函数时,所有返回值将被忽略。
当调用作为表达式最后一个参数或者仅有一个参数时,根据变量个数函数尽可能地返回多个值,不足返回 nil,超出舍去。
当一个函数返回一个以上的返回值,且函数调用不是一个列表表达式的最后一个元素,那么函数只返回第一个返回值。
function f() return 1,2,3 end x,y,b,c = f() ----输出结果 x = 1, y = 2, b = 3,c = nil t1 = {f(), 1} print(t1[1],t1[2],t1[3])--输出结果 1, 1, nil --f()返回的第一个值 t2 = {1,f()} print(t1[1],t1[2],t1[3],t1[4])--输出结果1, 1, 2, 3 -- f()返回所有的值
可变参数
函数参数列表中使用三点 (…) 表示该函数有可变参数。Lua 将函数的参数放在一个叫 arg 的表中。
local function test(...) arg = {...} local count = 0 for k,v in pairs(arg) do count = count + 1 end return count end print(test(1,2,3,4,5)) --输出结果: 5
相关文章推荐
- 0基础lua学习(七)函数
- lua基础学习 - 闭合函数(closure)
- lua基础学习 - 非全局函数
- Lua基础 函数学习
- 0基础lua学习(十九)C调用Lua----03C调用lua 函数和变量
- Lua基础学习二——表和函数
- Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记
- lua基础学习 - 函数多重返回值,变长参数,具名实参
- 黑马程序员——零基础学习iOS开发——04 c语言:基本运算、流程控制、函数
- Lua 学习笔记(五)函数
- 浅谈Delphi过程与函数02 - 零基础入门学习Delphi21
- java学习笔记:Java语法基础2(循环,函数,重载,数组,方法)
- Python基础学习----模块与函数
- python入门学习-函数基础
- Lua 基础之函数
- python基础学习五 : 函数基础
- c++学习笔记之基础---类内声明函数后在类外定义的一种方法
- Android JNI编程之基础学习(一) 认识c语言的基本类型,输出输入函数
- [原]零基础学习视频解码之FFMpeg中比较重要的函数以及数据结构
- Lua学习与交流——元表的基础