一、调用参数
1.1 调用参数概述
将所有参数放在一对圆括号中,即使没有参数也必须写一对圆括号。
特殊情况:
一个函数只有一个参数,且参数的一个字面字符串或table构造式,圆括号可有可无。
1.2 代码
--function
function add(x, y)
return x + y
end
print(add(4,2))
--function with table as argument
function sub(t)
return t[1] - t[2]
end
print(sub({4,2}))
print(sub{4,2})
1.3 运行结果
二、多重返回值(multiple results)
2.1 概述
如果返回值不够多,会用nil补充缺失的值。
2.2 系统函数的多重返回值
b,e = string.find("hello world", "world")
三、变长参数
3.1 变长参数
参数中使用3个点(...)表示该函数可接受变长参数。
3.2 代码
function add(...)
local s = 0
for i,v in ipairs{...} do
s = s + v
end
return s
end
print(add(3,5,10))
3.3 运行结果
四、具名参数
4.1 具名参数
通过名称来指定实参。
有多个参数,大部分参数是可选的话,会比较有用。
4.2 代码
function rename(arg)
print (arg.old, arg.new)
end
rename({old="old.lua", new="new.lua"})
rename({new="new.lua", old="old.lua"})
4.3 运行结果