zoukankan      html  css  js  c++  java
  • lua 初接触 --- The first time use Lua for programing

      The first time use Lua for programing 

    Wang Xiao 

     

      1. 关于 lua 的变量类型:

        lua 变量的定义与matlab有点不同:

     


     

        local d , f = 5 ,10 --声明局部变量 d,f。

        d , f = 5, 10;  --声明全局变量 d,f。
        d, f = 10        --[[声明全局变量 d,f,其中 f 的值是 nil--]]


        如果只是定义没有初始化,则静态存储变量被隐式初始化为 nil。

      Lua 赋值时会将第一个值赋给第一个变量,第二个值赋给第二个变量,依次类推

      来一个比较叼的交换语句:


        local a,b    -- 变量定义

        a = 10     b = 30

        print("value of a:", a)

        print("value of b:", b)

        b,a = a,b    -- 直接将a and b 对换,有点叼有木有,连中间变量都不需要的。

        print("value of a:", a)

        print("value of b:", b)

        f = 70.0/3.0

        print("value of f", f)


      

      2. 两个需要注意的地方: 

        若想要跳出循环,只要 break 语句即可。

      


      3. 函数的定义:

      --[[ function returning the max between two numbers --]]

      function max(num1, num2)

        if(num1 > num2) then 

          result = num1;

        else

          result = num2;

        end

        return result;

      end

      -- 调用函数

      print("The maximum of the two numbers is", max(10, 4))

      print("The maximum of the two numbers is", max(5, 6))

      -- 执行结果

      The maximum of the two numbers is  10

      The maximum of the two numbers is  6

        在 Lua 中,使用 ... 作为参数可以创建参数个数可变的函数,即: 变参函数。

      

      


      4. 字符串

      string1 = "Lua"

      print(""String 1 is"", string1)

      string2 = 'Tutorial'

      print("String 2 is", string2)

      string3 = [[ "Lua Tutorial" ]]

      print("String 3 is", string3)

      -- the output results

      "String 1" is    Lua

      String 2 is   Tutorial

      String 3 is   "Lua Tutorial"

      

      

      -- the output are:

      Basic formating Lua Tutorial 

      Date formating 02/01/2014

      0.3333

      


      5. 数组:

      Lua 的索引是从1开始的。

       

      多维数组:

      array = {"Lua", "Tutorial"} 

      function elementlterator (collection)

        local index = 0

        local count = #collection

        -- 返回闭包函数

        return function 

          index = index + 1

          if index <= count 

          then 

            -- 返回迭代器的当前元素

            return collection[index]

          end

            end

        end

      for element in elementlterator(array)

      do 

        print(element)

      end


      

      

      

  • 相关阅读:
    springmvc与ajax交互
    [PAT] A1052 Linked List Sorting
    [PAT] A1032 Sharing
    [PAT] A1076 Forwards on Weibo
    [PAT] A1034 Head of a Gang
    [PAT] A1030 Travel Plan
    [PAT] A1031 Hello World for U
    [PAT] A1029 Median
    [PAT] A1028 List Sorting
    [PAT] A1026 Table Tennis
  • 原文地址:https://www.cnblogs.com/wangxiaocvpr/p/5538296.html
Copyright © 2011-2022 走看看