function maximum (a)
local mi = 1 -- maximum index
local m = a[mi] -- maximum value
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
真的,但是什么吗?我不明白?有人可以解释这个例子吗? 令人困惑的,在lua第一版中编程总是使一些困难的例子简直是:/
答案 0 :(得分:0)
该函数采用一个参数,该参数是一个存储在变量a
中的表。
该函数使用a
函数从表中返回索引和值(临时存储在ipairs
和{{中),对表i
中的每个值进行迭代(循环)。 1}})。
在循环内,将表中的值与val
进行比较,如果m
大于val
,则为m
分配{{1} }和m
的值分配为val
。
然后该函数返回两个值mi
和i
。
简而言之,该函数的作用是在作为参数传递的表中找到最大值及其索引。