• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Lua入门学习笔记

    最近在使用Cocos2d-x + Lua来开发游戏。 游戏的主要逻辑将在Lua里写,之前没有接触过Lua,以下是我总结的入门笔记。

    运算符

    逻辑运算符

    与:and
    或:or
    非:not

    逻辑判断只有在false和nil时为假,其余均为真。 or和and会返回第一个断路的值。

    Lua中没有C语言的三元符(x ? a : b),但有一个替代方案(x and a) or b。
    需要注意的是,以上方案在x为true,a为false,b为true的情况下与三元符的结果是相反的。

    关系运算符

    不等于:~=
    类型和值均相等:==
    只有数字和字符串类型在比较时判定的是值,其余数据类型比较的都是引用。

    其他运算符

    字符串的连接符:..
    两字符串若用+连接时,会被自动转义成数字类型进行相加,这是由metatable里的add运算决定的。

    长度运算符:# 可计算字符串和table的长度。

    冒号运算符: :是Lua的一个语法糖,其省去了方法的self参数声明和方法的显式调用。 详见:http://www.lua.org/pil/16.html。

    table

    table可视为数组,数组下标不同于其他大多数语言,其下标从1开始。

    #运算符仅统计所有下标为整数的元素的个数。

    与pairs不同的是,ipairs仅遍历从1开始的连续下标,并且保证输出顺序。

    t[2] 和 t["2"]表示不同的记录

    复制代码 代码如下:

    t={["2"]=2, [2]=2.2,}

    table最后可以多留一个分隔符(,或;),参照上一条的t,官方的理由是为了自动生成table的方便(便于自动生成Lua的table配置表)。

    复制代码 代码如下:

    x = 1
    t = { x=1.1, [x]=1 }

    第一个表示

    复制代码 代码如下:

    t["x"] = 1.1

    第二个表示

    复制代码 代码如下:

    t[1] = 1

    metatable

    metatable的类型是table。 metatable里的key是事件(操作)类型。 metatable里的value是对应的函数(方法),也称之为metamethod。

    控制流

    return和break语句只能被写在语句块的最后一句,即end前。

    for 循环的循环变量是一个内部变量,循环结束之后,就不能再使用它了。

    sublime text 2编译

    我平时用Sublime Text 2来编写Lua脚本,其编译Lua的设置如下: 生成Lua.sublime-build文件于C:\Users\YOUR_USER_NAME\AppData\Roaming\Sublime Text 2\Packages\Lua目录下,文件内容为

    复制代码 代码如下:

    {
        "cmd": ["lua", "$file"],
        "file_regex": "^(?:lua:)?[\t ](...*?):([0-9]*):?([0-9]*)",
        "selector": "source.lua"
    }

    设置好后,用 ctrl + B 即可编译运行。 以上为pc上的配置。

    在mac上需要先编译安装Lua

    复制代码 代码如下:

    curl -R -O http://www.lua.org/ftp/lua-5.2.2.tar.gz
    tar zxf lua-5.2.2.tar.gz
    cd lua-5.2.2
    make macosx test
    sudo make install

    然后在sublime text tools -> build system -> new build system新建一个Lua.sublime-build,内容为

    复制代码 代码如下:

     "cmd": ["/usr/local/bin/lua", "$file"], 
     "file_regex": "^(...*?):([0-9]*):?([0-9]*)", 
     "selector": "source.lua" 
    }

    即可在mac的sublime text上用 ⌘ + B 编译Lua。

    其他

    Lua语句后的分号;可有可无。

    变量声明时尽可能的使用local进行声明,除非有作为全局变量的必要。

    为参数列表,在函数中以arg(类型为table)进行获取 arg还有一个额外的键n,用来表示参数的个数。

    您可能感兴趣的文章:
    • Lua脚本语言简明入门教程
    • Lua极简入门指南(一):基础知识篇
    • Lua极简入门指南(三): loadfile和错误处理
    • Lua极简入门指南(一):函数篇
    • Lua极简入门指南:全局变量
    • lua脚本语言快速入门教程
    • Lua极简入门指南(六):模块
    • Lua 极简入门指南(七):面向对象编程
    • Lua脚本语言基本语法快速入门教程
    • Lua语言新手简单入门教程
    上一篇:让你的python代码更加pythonic(简练、明确、优雅)
    下一篇:Mac平台中编译安装Lua运行环境及Hello Lua实例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Lua入门学习笔记 Lua,入门,学习,笔记,Lua,入门,