由于一些工作上的需要,开始对Lua的学习。之前有JavaScript的基础,而且两者都是脚本语言,所以本总结旨在列出与JavaScript不同的地方,方便后续的回顾和学习。下面进入正题吧!

  1、注释 :

    单行注释:--    多行注释:--[[   --]]

  2、类型和值:

    A、Lua会自动在String 和 numbers 之间自动进行类型转换,当一个字符串使用算数操作符(+-*/^-)是,string就会被转成数字。(默认,自动转)

         print("10" + 1);  -->11      print("10 + 1");  -->10 + 1         print("5" * "2");  -->10         print("Hello" + 1); -->Error(cannot convert "Hello")

    B、当一个String 碰到数字时,期望将数字转成string ,可以使用  .. ,可以理解为, ..  操作符就是字符串连接符

        print(10 .. 45);   -->1045

    C、[[ ....]]可以用来表示多行字符串,并且其中所包含的字符串不会解释转义序列,用来包含一段代码非常方便。

  3、表达式:

    A、逻辑运算符: and  or   not  ,它认为false 和 nil 为假(false),其它的为真,0也是true;

            实用技巧:

           X = X or V ; --如果X为false或者nil,就给X赋初始值

          C  a ? b : c ;   <-->   Lua  (a and b) or c;

    B、Lua数组中的下表默认从 1开始,而非从0开始

  4、赋值语句:

    Lua可以对多个变量同时赋值,赋值语句右边的值会依次赋值给左边的变量; a , b = 10 , 2*5;

    技巧:遇到赋值语句,Lua会先计算右边所有的值,然后在执行赋值操作。因此交换变量的值可以这样做: a[i] , a[j] = a[j] , a[i];

    当变量个数和值个数不一致时,以变量个数为准;

最新文章

  1. Swift 学习中的一点体会,不断更新中。。。
  2. jQuery的选择器中的通配符
  3. (转)nodejs中npm常用命令
  4. matlab GUI界面编程总结
  5. 此数据库文件与当前sql server实例不兼容
  6. 多线程BackroundWorker 使用
  7. Cookie与Session的区别
  8. java中两个值互换
  9. 【LeetCode】66 &amp; 67- Plus One &amp; Add Binary
  10. linux mysql 授权以及 iptables开启3306
  11. jmeter JDBC 连接数据库
  12. qt 多语化
  13. 3. Go语言基本类型
  14. Jenkins&#160;利用Dashboard&#160;View插件管理任务视图
  15. C/C++编译、链接、运行的基础知识
  16. python web.py操作mysql数据库,实现对数据库的增删改查操作
  17. 微信小程序 HMACSHA256 哈希加密
  18. 跨域(六)——window.name
  19. 17.struts-开发流程.md
  20. 团队作业8-测试与发布(beta阶段)

热门文章

  1. 转载 IEnumerable和IEnumerator 详解
  2. docker 系列 - Docker 安装和Hub Mirror地址设置
  3. MyBatis简单使用和入门理解
  4. c# cbo控件
  5. dbms_redefinition在线重定义表结构 可以在表分区的时候使用
  6. grep 打印相关行内容
  7. cpp 模版函数
  8. ubuntu 18.04//18.10&amp;&amp;windows 7/10双系统系统时间不一致
  9. PTA 逆散列问题 (30 分)(贪心)
  10. cmder使用简介