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

问题描述 投票:0回答:1
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

真的但是wth是这个吗?我不明白?有人可以解释这个例子吗?就是这样,[[令人困惑,在lua编程第一版总是做出一些艰难的例子bruh:/

lua
1个回答
0
投票
该函数接受一个参数,这是一个存储在变量a中的表。

[该函数使用a函数从表中返回索引和值(临时存储在ipairsi中)对表val中的每个值进行迭代(循环)。

在循环内,将表中的值与m进行比较,如果val大于m,则将m的值指定为val,将mi的值指定为i C0]。

然后函数返回两个值mmi

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

© www.soinside.com 2019 - 2024. All rights reserved.