lua 知识点记录

来源:互联网 发布:网络课程有哪些 编辑:程序博客网 时间:2024/04/30 12:14


在用cocos-lua写东西,所以下边是一些关于lua的知识点,做一个随手记,也希望之中的某一点能对大家有一点帮助。

  1. lua的基础类型有8种,分别为

    nil :只有nil一个值,用来表示无效值。全局变量在初始化之前就是nil。全局变量赋值为nil,就相当于删除了该全局变量

    boolean:在lua中,只有当变量为false和nil是才视之为“假”,其他值均为“真”。

    number:lua中表示实数。lua中没有专门的类型表示整数

    stringLua中的字符串通常表示“一个字符序列”。字符串类型的变量是不可变的,因此不能像C语言中那样直接修改字符串的某一个字符,而是在修改的同时创建了新的字符串。

    function在Lua中,函数可以存储在变量中,可以通过参数传递其它函数,还可以作为其它函数的返回值。这种特性使语言具有了极大的灵活性。

    thread

    table:表/元表,内容略多,此处先省略下,,,,

    userdata:由于userdata类型可以将任意C语言数据存储到Lua变量中。在Lua中,这种类型没有太多预定义的操作,只能进行赋值和相等性测试。userdata用于表示一种由应用程序或C语言库所创建的新类型。


    当遇到某些变量,不清楚该变量的类型时,可以通过type函数来获得变量类型,该类型信息会以字符串的形式返回。

    示例如下

    > print(type("hello world"))

    string

    > print(type(10.4))

    number

    > print(type(print))

    function

    > print(type(true))

    boolean

    > print(type(nil))

    nil

    > print(type(type(X)))

    string


  2. 全局变量  lua中全局变量无需声明,直接赋值即可。如果访问未初始化的全局变量,lua也不会报错,直接返回nil 空。如果某全局变量不想再使用,赋值为nil即可。示例如下  pinrt(b)  会输出nil  。  b=100     print(b)  会输出100  。不用时再付为空  b=nil  print(b) 则又输出nil



0 0