Cocos2d-x Lua脚本基本语法

 欢迎加入 Cocos2d-x 交流群: 193411763

转载时请注明原文出处 http://blog.csdn.net/u012945598

该篇文章的内容仅仅是为了更好的在Cocos2d-x引擎中使用Lua提前储备一些关于Lua的语法知识,若要深入了解Lua请阅读专门书籍

1.Lua 基本数据类型

             nil                           空

             boolean                 布尔类型

             number                  数值类型

             string                      字符串类型 

             userdata                自定义类型      这个类型专门用来和Lua的宿主打交道的。

             function                  函数类型         所有的函数,本身就是一个变量。

             thread                     线程类型

             table                        表类型


   Lua是一种动态弱类型语言,灵活性十分强大,变量没有类型定义也可以使用。例如在Hello.lua的文件中声明一个变量:

   myName="Lua"                    --无需写出myName变量的类型

   myName=20

   myName=print                      --此处将function函数赋给了变量,C/C++中无此功能,在某些情况下可以带来便利,比如nil类型   

                                                                注意 “--”是Lua中的单行注释法,相当于C/C++中的 “//”,多行注释则使用"--[[     --]]",相当于/*  */

              

   在Lua中提供了一个函数type,专门用来测试给定变量或者值的类型。使用方法如下:

   print(type(nil))                        --空类型

   print(type(true))                     --布尔类型

   print(type("Hello world"))     --字符串类型

   print(type(print))                    --函数类型

   

       上述数据类型中有一个表类型(table),这是一种强大的数据结构,也是Lua中唯一的一种数据结构。我们可以将它看做类似数组或容器的存在,只不过相对于C/C++中的数组,table更为灵活。例如,C语言中的数组只能用正整数作为索引,而table可以用任何东西做索引(nil除外),不限于数字;在C语言中,数组中的元素必须是相同类型的,而在Lua中,table可以存放任意类型的值(nil除外)。下面我们来定义一个table:

        helloTable={ }           --定义一个空表

        helloTable[1]=25      --类似于C语言中使用数组的方法


        helloTable={name="reventon",IQ=127}      

        此行代码可看成:

        helloTable={ }          --必须先定义成一个表,因为未定义的变量属于nil类型

        helloTable["name"]="reventon"

        helloTable["IQ"]=127

        当索引字符串的时候,我们可以简写成:

        helloTable.IQ=127

        helloTable.name="reventon"

        

        定义表的时候我们可以把全部的数据写在"{ }"之间,例如:

        hellotable={

        10,                                                           --此时索引值默认为[1],相当于[1]=10,元素之间需要用“ ,”隔开

        [100]=20,                                                --索引[100]的值是20,所有的索引值都需要用“'[ ]”括起来,字符串除外

        You={                                                      --字符串索引可以去掉引号及中括号

                  Age = 30,                                      --字符串索引也可以写成 ["Age"]=30

                  IQ=12

         },

        20                                                            --相当于[2]=20,索引被默认成了数字,从1向后排

}

2. Lua 关键字保留
  Lua脚本语言是大小写敏感的,保留字如下:

    and     break     do     else     elseif     end     false     for     function     if     in     local     nil     not     or     repeat     return     then     true           until     while

3. 表达式 

     Lua中有四种运算符

     (1) 算术运算符(只能用于数字类型当中)

            加 +    减(负值) -     乘 *   除  /     

            幂运算 ^    例如: 2^3的结果为8    3^3的结果为9

     (2)关系运算符 

            返回结果均为true / false,若比较时两个值的类型不同,返回的结果一定为false,nil类型只能与自己相等。

            >     <     <=     >=     ==     ~=(相当于C中的!=)  

    (3)逻辑运算符

         and or not 

      and 和 or 与C语言区别特别大。
    在Lua中,只有false和nil才计算为false,其它任何数据都计算为true,0也是true!
    and 和 or的运算结果不是true和false,而是和它的两个操作数相关。
    a and b:如果a为false,则返回a;否则返回b
    a or b:如果 a 为true,则返回a;否则返回b

           print

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值