Lua学习(四)函数
2016-04-27 15:23
507 查看
[color=blue]函数的作用:
1、完成某项特定任务
2、计算并返回结果[/color]
[color=blue]语法:[/color]
[color=blue]1、多重返回值[/color]
[color=red] A、若函数作为一条单独语句执行,无返回值
B、若函数作为表达式一部分,只保留函数第一个返回值
C、若函数作为表达式一部分并且在表达式最后一个位置,返回所有值[/color]
[color=blue]2、变长参数[/color]
用3个点(...)表示函数接受不同数量的实参
访问变长参数时,仍需用到3个点(...)
[color=blue]3、具名实参[/color]
将所有实参组织到一个table中
1、完成某项特定任务
2、计算并返回结果[/color]
[color=blue]语法:[/color]
function func_name(args)
statements
end
[color=blue]1、多重返回值[/color]
[color=red] A、若函数作为一条单独语句执行,无返回值
B、若函数作为表达式一部分,只保留函数第一个返回值
C、若函数作为表达式一部分并且在表达式最后一个位置,返回所有值[/color]
function t_none() end --->无返回值
function t_one() return "a" end --->返回一个值"a"
function t_many() return "a","b" end --->返回两个值"a","b"
x = t_many() --->x="a","b"被抛弃
x,y = t_many() --->x=="a",y="b"
x,y,z = t_many() --->x="a",y="b",z=nil
x,y = t_many(),20,30 --->x="a",y=20,30被抛弃
将函数放在一对圆括号内,强制函数返回一个值
print((t_many())) --->a
[color=blue]2、变长参数[/color]
用3个点(...)表示函数接受不同数量的实参
function sum(...)
local s = 0
for i,v in pairs({...}) do
s = s + v
end
return s
end
访问变长参数时,仍需用到3个点(...)
function sum(...)
local a,b,c = ...
end
[color=blue]3、具名实参[/color]
将所有实参组织到一个table中
rename({old="temp.lua", new="temp1.lua"})
也可以写成
rename{old="temp.lua", new="temp1.lua"}
不过我还是喜欢第一种风格
相关文章推荐
- 通过例子学习Lua(6)--C/C++中用Lua函数
- Lua学习-4-函数(2)
- Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记
- [LUA学习笔记03]LUA函数和C函数的相互调用
- Lua 学习笔记(四) —— 函数(一)
- Lua学习之1 :C++调用Lua函数
- 【学习Lua】函数的多重返回值
- Lua学习(五)函数进阶篇
- 编译原理之学习 lua 1.1 笔记 (二) 函数调用与局部变量
- Lua 函数 学习
- Lua学习笔记(五):函数
- Lua学习笔记(六):函数-续
- 函数调用lua学习2:在cpp中调用lua
- Lua语言学习之函数探索
- Lua 学习笔记(五)函数
- Lua学习笔记 第五章 函数
- Lua学习笔记之表和函数
- lua第五章函数学习
- lua语言学习五函数
- Lua学习笔记(6) : 在Lua中调用C++之函数