我对lua中的这个示例不了解,有人可以帮助我吗?

时间:2019-12-29 12:57:08

标签: lua

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第一版中编程总是使一些困难的例子简直是:/

1 个答案:

答案 0 :(得分:0)

该函数采用一个参数,该参数是一个存储在变量a中的表。

该函数使用a函数从表中返回索引和值(临时存储在ipairs和{{中),对表i中的每个值进行迭代(循环)。 1}})。

在循环内,将表中的值与val进行比较,如果m大于val,则为m分配{{1} }和m的值分配为val

然后该函数返回两个值mii

简而言之,该函数的作用是在作为参数传递的表中找到最大值及其索引。