Lua Max Number Finder

时间:2012-07-27 04:39:01

标签: function lua numbers negative-number

这是我的一个简单程序的代码,它找到一个表中最大的数字,并返回数字和它的索引。我的问题是程序没有使用否定。

 numbers = {1, 2, 3}

 function largest(t)
   local maxcount = 0
   local maxindex
   for index, value in pairs(t) do
    if value > maxcount then
       maxcount = value
       maxindex = index
     end
   end
   return maxcount, maxindex
 end

 print(largest(numbers))

这段代码打印出“3 3”。最大的数字是3,它位于第3位。当我将数字设置为{-1,-2,-3}时,它返回“0 nil”而不是“-1 1”。

谢谢!

2 个答案:

答案 0 :(得分:4)

您的默认值是错误的。 他们应该是

local maxcount = t[1]
local maxindex = 1

你收到的是“0无”,因为

    在if条件maxindex为真之前,
  • value > maxcount未定义。

  • 默认maxcount值为0,并且大于所有负数。

答案 1 :(得分:4)

maxcount必须在开始时设置为较大的负数,而不是零。试试-math.huge