zoukankan      html  css  js  c++  java
  • Lua语法要点2

    Lua语法要点2

    1、Lua函数

      function 可以添加 local 关键字。添加后为局部函数,不添加(默认)为全局函数。return 可以返回多个返回值,以, 分隔。

      使用 ... 来表示变长参数。

    function add(...)  
    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 average(...)
       result = 0
       local arg={...}
       for i,v in ipairs(arg) do
          result = result + v
       end
       print("总共传入 " .. select("#",...) .. " 个数")
       return result/select("#",...)
    end
    
    print("平均值为",average(10,5,3,4,5,6))
    • select(n, …) 用于访问 n 到 select('#',…) 的参数
    do  
        function foo(...)  
            for i = 1, select('#', ...) do  -->获取参数总数
                local arg = select(i, ...); -->读取参数
                print("arg", arg);  
            end  
        end  
      
        foo(1, 2, 3, 4);  
    end

    2、for循环

      var 从 exp1 变化到 exp2,每次变化以 exp3 为步长递增 var,并执行一次 "执行体"。exp3 是可选的,如果不指定,默认为1。

    for var=exp1,exp2,exp3 do  
        <执行体>  
    end  

      for的三个表达式在循环开始前一次性求值,以后不再进行求值。比如上面的f(x)只会在循环开始前执行一次,其结果用在后面的循环中。

    #!/usr/local/bin/lua  
    function f(x)  
        print("function")  
        return x*2   
    end  
    for i=1,f(5) do print(i)  
    end
    function
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    View Code

    3、运算符。

      ^ 是指数运算符,如 10^2 = 100。

      ~= 是不等于运算符,同C++中的 !=。

      逻辑运算符全部采用英文单词来表示。

      

      其他运算符
      

    4、

    5、

    6、

    7、

    8、

    9、

  • 相关阅读:
    第二次结对编程作业
    5 线性回归算法
    4 K均值算法--应用
    3 K均值算法
    2 机器学习相关数学基础
    1 机器学习概述
    15. 语法制导的语义翻译
    14.算符优先分析
    13.自下而上语法分析
    12.实验二 递归下降语法分析
  • 原文地址:https://www.cnblogs.com/tekkaman/p/11325556.html
Copyright © 2011-2022 走看看