zoukankan      html  css  js  c++  java
  • Lua脚本认知小结

    0.前言

    Lua是一种脚本语言,笔者在学习cocos2dx的时候认识了这个脚本语言。

    据个人了解的脚本语言最大的优势是无需编译,使用其内核可以使其跨平台运行。

    JavaScript,Python,Perl这是笔者之前就知道的脚本语言,其中JavaScript实际使用最多,主要用于网页设计,特效。由于接触Lua时间并不长,无法系统总结Lua特性,这里我就以我比较熟悉的JavaScript(前端方向,下面简称JS)和Lua做一个对比。

    首先得说明,JS和Lua大部分语法和使用还是很相似的,下面主要说明语法的不同之处。

    1.空类型

    js用null表示空,且null不等于0,null也不等于false。

    lua用NIL类型表示空,NIL可以表示false,NIL不是0。

    2.操作符不同

    js的操作符大部分和静态语言相同,不等于即!=,连接字符串用+,取并集用||,取交集用&&,js语句结尾建议用分号;

    lua的操作符有所不同,不等于为~=,连接字符串用..,取并集用or,取交集用and,lua结尾不使用分号,但是可以兼容分号。lua交换两个变量的值可以使用如下语句

    a, b = b, a

    3.定义以及全局

    js定义一般使用var声明,也可以不使用var直接使用;全局变量需要在最外围代码定义,如在外围定义啊,函数体内需要使用全局的a的时候应使用window.a,否则视为内部定义

    lua定义全局变量(函数)不需要任何声明,只有变量(函数)是本地的时候需要加上本地声明 local。

    4.块结构

    js的块结构,无论是方法,条件语句,循环,还是单纯的块都需要用大括号包围,条件语句中的条件需要以小括号包着;

    lua中的块结构不需要大括号,但在结束的时候需要以end结尾。条件也不需要任何符号包围,下面做简单示例

    function funcName(args)
        -- 这样定义x为全局变量       
        x = 1 
        -- y 为局部变量
        local y = 2 
        return x
    end
    
    if  x > 1 then 
        x = 0
    end
    
    while x < 1 then
        x = 1
    end

    5.for循环

    js的for循环是大多数主流语言采用的三段式表达式,第一段初始化,第二段为循环条件,第三段为每次循环后进行的操作。比如进行10次的操作,js代码如下

    for (var i = 0; i < 10; i++) {
        alert(i);
    }

    Lua中的for循环算是简化的三段式表达式,不过三段都以逗号隔开,第一段表示初始值,第二段表示最大时,第三段表示每次循环的增量(第三段可以省略,默认增量为1),这里同样进行10次代码操作

    for i = 0,10,1 do
        print(i)
    end

    6.返回值

    js返回值一般只有一个,要想返回多个值可以使用数组的方式。

    lua可以返回多个值,简单代码如下:

    function funcName(args)
        x = 0 
        y = 1
        z = 2
        return x, y, z
    end

    7.注释

    js单行注释使用两个斜杠,多行注释使用 /**/ 包围

    lua单号注释使用两个减号,多行注释使用 -- [[ 和 ]] 包围。

    暂时就总结这么多,如果以后有新的理解或者发现原来的错误,会再次修改。

  • 相关阅读:
    PHP应用目录结构设计
    php 项目性能优化
    Zend Framework的PHP编码规范【1】
    php 如何做在线人数统计
    linux 文件权限
    总结:常用的通用数据处理指令
    全排列(含递归和非递归的解法)
    局部变量,静态局部变量,全局变量,静态全局变量在内存中的存放区别(转)
    C++中引用详解
    Pascal三角形
  • 原文地址:https://www.cnblogs.com/yaoh/p/4576124.html
Copyright © 2011-2022 走看看