zoukankan      html  css  js  c++  java
  • Lua学习笔记1,基本数据类型

    1.字符串的连接使用的是  .. ,如

    print(123 .. 44)

    输出 12344

    print ('a' .. 'b')

    输出 ab

    print(123 .. 44)这句的时候 .. 两边要空格

    2. lua注释符号

    单行   --

    多行

    --[[

    此处是注释

    --]]

    3. 字符串块

    stringblock=[[

    this is a string

    block

    ]]

    4. 空类型  nil 相当于NULL,如果一个变量未赋值,那么其值为 nil,且在条件语句中 nil值为 false,例如

    if nil then

      print('nil')

    else

      print('nil is false')

    end

    输出 

    nil is false

    5. # 放在字符串前面可以计算字符串长度

    str1 = "this is a string"

    print(#str1)

    输出

    16

    6. table数据类型

    这个类型蛮有意思的,表示的是关联数组,有点类似于字典结构,数字和字符串都可以作为索引

    a={}  --空table

    a["key"]='value'

    a[10]=22

    for k,v in pairs(a) do

      print( k ..":".. v)

    end

    输出

    key : value
    10 : 33

    这里pairs()是函数,可以用print(type(pairs))查看,具体用法未明。。。后面再看

    另外,table的默认索引是从1开始的

    tbl = {"apple", "pear", "orange", "grape"}
    for key, val in pairs(tbl) do
        print("Key", key)
    end
    输出
    Key 1
    Key 2
    Key 3
    Key 4

    table没有固定长度,也不用预先声明其大小,没有初始化的table都是nil

    7. function类型
    这个类型好爽,和matlab里面的function很类似,首先function可以类似于应用传递,其次function可以直接作为函数参数传递

    function fibonaccia(n)
      if n == 0 or n==1 then
        return 1
      else
        return fibonaccia(n-1)+fibonaccia(n-2)
      end
    end
    print(fibonaccia(10))
    fib=fibonaccia
    print(fib(10))
    function funcpass(tab,fun)
      for k,v in pairs(tab) do
        print(fun(v))
      end
    end
    tab={1,2,3,4,5}
    funcpass(tab,fib)

    总结:Lua有8种基本的数据类型:nil,number,string,table,function,boolean,thread,userdata

  • 相关阅读:
    html不点击提交,自动post
    wpf slider刻度
    visual studio 的 code snippet(代码片段)
    更换手机号之前
    post提交
    动态修改settings
    获取文件数据流+叠加byte数组(给byte数组加包头包尾)
    装箱与拆箱
    ue4中窗口打开web地址
    C++通过Callback向C#传递数据,注意问题
  • 原文地址:https://www.cnblogs.com/YiXiaoZhou/p/6274348.html
Copyright © 2011-2022 走看看