lua-函数

-- 函数作为另个函数的参数
--[将函数赋值给变量 myprint]
myprint = function(param)
   print("这是打印函数:", param)
end

--函数作为参数
function add(num1, num2, functionPrint)
   result = num1 + num2
   functionPrint(result)
end

myprint(10)
add(2,5,myprint)



-- 函数可变参数
function average(...)
   result = 0
   local arg={...}

   for i,v in ipairs(arg) do
      result = result + v
   end

   print("总共传入 " .. #arg .. " 个数")
   return result/#arg
end

print("平均值为", average(1,2,1,2,1,2))



-- 函数多个返回值
--在 Lua 中数组索引值是以 1 为起始
function maximum (a)
    local maxi = 1               -- 最大值索引
    local max = a[maxi]          -- 最大值

    for i,val in ipairs(a) do
       if val > max then
           maxi = i
           max = val
       end
    end

    return max, maxi
end

max, maxi = maximum({8,10,23,12,5})
print("max="..max, "maxi="..maxi)

你可能感兴趣的:(lua-函数)