Lua学习总结

  由于一些工作上的需要,开始对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];

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

原文地址:https://www.cnblogs.com/logo-fox/p/3466923.html