ddxiami

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2856|回复: 3

Lua语法--06函数

[复制链接]
发表于 2020-8-19 21:46:35 | 显示全部楼层 |阅读模式
===============================================
#!/usr/local/bin/lua

--[[ 函数返回两个值的最大值 --]]
function max(num1, num2)

   if (num1 > num2) then
      result = num1;
   else
      result = num2;
   end

   return result;
end
-- 调用函数
print("两值比较最大值为 ",max(10,4))
print("两值比较最大值为 ",max(5,6))
===============================================
回复

使用道具 举报

 楼主| 发表于 2020-8-19 21:46:48 | 显示全部楼层
===============================================
#!/usr/local/bin/lua
myprint = function(param)
   print("这是打印函数 -   ##",param,"##")
end

function add(num1,num2,functionPrint)
   result = num1 + num2
   -- 调用传递的函数参数
   functionPrint(result)
end
myprint(10)
-- myprint 函数作为参数传递
add(2,5,myprint)
===============================================
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-19 21:46:55 | 显示全部楼层
===============================================
#!/usr/local/bin/lua
function maximum (a)
    local mi = 1             -- 最大值索引
    local m = a[mi]          -- 最大值
    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}))
===============================================
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-19 21:47:02 | 显示全部楼层
===============================================
#!/usr/local/bin/lua
function average(...)
   result = 0
   local arg={...}    --> arg 为一个表,局部变量
   for i,v in ipairs(arg) do
      result = result + v
   end
   print("总共传入 " .. #arg .. " 个数")
   return result/#arg
end

print("平均值为",average(10,5,3,4,5,6))
===============================================
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|技术文档库 ( 闽ICP备15017263号-2 )|网站地图

GMT+8, 2025-5-18 19:01 , Processed in 0.036429 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表