Lua中的函数浅析
一、函数
在lua中函数的调用方式和C语言基本相同。如print(“helloworld”),z=add(x+y)。唯一的差别是,如果函数只有一个参数,并且该参数是字符串或者table构造器,那么圆括号可以省略,如print“helloworld”,f{x=10,y=10}。
我对于table构造器的理解就是它本身就是一个构造函数或者是特殊化的结构体。
lua为面向对象也提供了一个新的特殊语法--冒号操作符。表达式o.foo(o,x)的另一种写法是o:foo(x)。
functionadd(a)
localsum=0
fori,vinipairs(a)do
sum=sum+v
end
returnsum
end
在以上声明中,包含了函数名(add),参数列表(a),以及函数体。需要说明的是,Lua中实参和形参的数量可以不一致,一旦出现这种情况,Lua的处理规则等同于多重赋值,即实参多于形参,多出的部分被忽略,如果相反,没有被初始化的形参的缺省值为nil。
1、多重返回值
functionmaximum(a)
localpos=1
localmaxx=a[1]
fori,vinipairs(a)do
ifv>maxxthen
pos,maxx=i,v
end
end
returnpos,maxx
end
print(maximum({1,5,2,7,3,6})) --输出47
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下