调用select时,必须传入一个固定的实参selector(选择开关)和一系列
参数
。如果selector为数字n,那么select返回
参数
列表中从索引n开始到结束的所有
参数
列表,否则只能为字符串。
Lua
函数
可以接收
可变
数目的
参数
,和C语言类似,在
函数
参数
列表中使用三点。同时我们可以将
可变
参数
赋值给一个变量。,这样select返回变长
参数
的总数。表示
函数
有
可变
的
参数
。输出结果与上述一样。
随着对
Lua
使用的增加,开始关注很多该语言的细节,例如,怎样向
Lua
函数
传递不同种类、不同数量的
参数
,怎样返回多种
参数
等等。今天主要介绍
Lua
函数
的基本用法,包括
可变
参数
的使用。
1.
Lua
函数
格式
Lua
函数
定义格式如下:
optional_function_scope function function_name( argument1, argument2, argument3..., argumentn)
function_body
return result_params_
什么是具名实参具名实参:指具有名称的实参。实现方式将所有实参组织到一个table中,并将这个table作为唯一的实参传给
函数
。使用具名实参的好处对于
参数
很多的
函数
,有时很难记住
参数
的名字和
参数
的顺序以及哪些
参数
是可选的。通过table可以在调用这类
函数
时可以随意指定
参数
的顺序,并且可以只传递需要设定的
参数
。这就是具名实参的好处。具名实参的实现与用法示例
函数
的
参数
机制中,最基础的方式是在调用一个
函数
时
lua
命令行
参数
lua
[options] [script [args]]首先,script 脚本名,options 可选
参数
:-e:直接将命令传入
Lua
代码
-l:加载一个文件
-i:进入交互模式args 传给脚本的
参数
在运行以前,
Lua
使用所有
参数
构造arg表。
脚本名索引为0,脚本的
参数
从1开始增加。
脚本前面的
参数
从-1开始减少。例如:
lua
-e “print(‘helloworl
Lua
函数
可以接受
可变
数目的
参数
,和C语言类似在
函数
参数
列表中使用三点(...)表示
函数
有
可变
的
参数
。
Lua
将
函数
的
参数
放在一个叫arg的表中,除了
参数
以外,arg表中还有一个域n表示
参数
的个数。
例如,我们可以重写print
函数
:
printResult = ""
function print(...)
for i,v in ipairs(arg) do
printResult = printResult .. tostring(v) .. "\t"