多返回值

简介: Lua函数支持返回多个值,例如string.find返回匹配字符串的开始和结束下标。通过在return语句后直接列出值的列表可实现多值返回。以下示例函数`maximum`找到并返回数组中的最大值和其索引:`function maximum(a) ... return m, mi end`,当应用于{8,10,23,12,5}时,输出为:`23 3`。

多返回值

Lua函数可以返回多个结果值,比如string.find,其返回匹配串"开始和结束的下标"(如果不存在匹配串返回nil)。

s, e = string.find("www.runoob.com", "runoob")
print(s, e)
5 10
Lua函数中,在return后列出要返回的值的列表即可返回多值,如:

实例
function maximum (a)
local mi = 1 -- 最大值索引
local m = a[mi] -- 最大值
for i,val in ipairs(a) do
if val > m then
mi = i
m = val
end
end
return m, mi
end

print(maximum({8,10,23,12,5}))
以上代码执行结果为:

23 3

相关文章
|
3月前
|
存储 编译器 C++
13函数
13函数
19 0
|
2月前
函数\judgeprime
函数\judgeprime
22 5
|
3月前
|
存储 C语言 Python
函数的前世今生1系列
函数的前世今生1系列
|
8月前
|
算法 编译器
函数(2)
函数(2)
31 0
|
8月前
|
存储 编译器
函数(下)
函数(下)
71 0
|
存储 编译器 C语言
C语言知识点之 函数
C语言知识点之 函数
41 0
|
算法 编译器
函数(二)
函数(二)
71 0
函数(二)
|
算法 程序员 C++
C/C++ 中的 strrchr() 函数
strrchr() 函数 在 C++ 中,strrchr() 是用于字符串处理的预定义函数。cstring 是字符串函数所需的头文件
268 0