zoukankan      html  css  js  c++  java
  • lua 6 函数

    定义:

    function max(num1, num2)
      local result = 0
      if (num1 > num2) then
        result = num1;
      else
        result = num2;
      end
      
      return result, "ok"; --> 可以返回多值
    end
    

      

    局部函数:在 require() 时,local 的函数不能被别的 script 调用,相当于 C++ 的 private。

    local function max(num1, num2)
      local result = 0
      if (num1 > num2) then
        result = num1;
      else
        result = num2;
      end
      
      return result; 
    end
    

      

    可变形参:

    function add(str, ...)  -- 固定参数必须放在变长参数之前
    print("总共传入 " .. select("#",...) .. " 个数") -- 获得输入可变参数的数量
    
    local s = 0  
      for i, v in ipairs{...} do   --> {...} 表示一个由所有变长参数构成的数组  
        s = s + v  
      end  
      return s  
    end  
    print(add(3,4,5,6,7))  --->25
    

    ---- select 的用法

    function foo(...)  
      for i = 1, select('#', ...) do  -->获取参数总数
        local arg = select(i, ...); -->读取参数
        rint("arg", arg);  
      end  
    end  
    
    foo(1, 2, 3, 4);  
    
    --------- result ----------
    arg	1
    arg	2
    arg	3
    arg	4
    

        

    函数作为形参:

    function sortTable(t, _f) -- _f 函数形参
      table.sort(t, _f)
    end 
    
    -- call
    
    function f(a1, a2)
      return a1 > a2
    end
    
    v = {1,8,0,4,2,8,9,2}
    sortTable(v, f) -- f 函数变量
    

      

    参考:

    http://www.runoob.com/lua/lua-functions.html

  • 相关阅读:
    textarea 里设置 style="resize:none"
    linux 脚本
    RabbitMQ、Redis、ZeroMQ、ActiveMQ、Kafka/Jafka对比
    python安装过程
    linux下安装python3
    java实现定时任务 Schedule
    Spring 定时任务之 @Scheduled cron表达式
    docker部署
    设备连接服务器
    springboot实现fileUpLoad
  • 原文地址:https://www.cnblogs.com/alexYuin/p/9948728.html
Copyright © 2011-2022 走看看