• lua的一些语法


    今天看了下lua的pdf。学习了一下lua。

    对于:看以下代码:

    polyline = {
      color = "blue", thickness = 2,
      { x = 0, y = 0 },
      thicknesss = 10,
      { x = -10, y = 0 },
      { x = 0, y = 1 }
    }

    print( polyline[ 2 ].x );
    print( polyline.color );
    print( polyline.thicknesss )

    代码是这样的,可运行结果出乎我的预料:

    怎么也没想到print( polyline[ 2 ].x );输出的居然是-10.

    原来,它会按照类型分一个是

    假设 a = {

      { x = 0, y = 0 },
      { x = -10, y = 0 },
      { x = 0, y = 1 }

    }

    一个是

    b = {

    color = "blue", thickness = 2, thicknesss = 10, 

    }

    如果你输出[x],则去a里面找,下标从1开始,(切记lua下标从1开始),如果是polyline.color或者polyline.thickness或者polyline.thicknesss则去b里面找!!!

    for循环

    for i = 10, 1, -1 do

      print( i )

    end

    相当于

    for( int i = 10, i <= 1; i-- ) {

      sprintf( i );

    }

    赋值


    a, b ,c = 1, 2, 3 等价于 a = 1; b = 2; c = 3

    如果左边的数量小于右边的数量,则多余的会忽略,

    如果左边的数量大于右边的数量,则依次赋值,没有的赋值为nil

     如:

    a , b, c = 1, 2

    则 a = 1; b = 2; c = nil

    a, b, c = 1, 2, 3, 4

    则 a = 1; b = 2; c = 3; 4忽略

    逻辑运算符 ( and or not )

    a and b   -- 如果a为false,则返回a,否则返回b
    a or b     -- 如果a为true,则返回a,否则返回b

    看一个特殊的例子

    C语言中的三元运算符

    a ? b : c

    在lua中可以这样实现

    ( a and b ) or c

  • 相关阅读:
    js-异步机制与同步机制
    js-正则表达式
    js-注释代码习惯
    布局-块级元素水平垂直居中
    js-本地调试跨域
    vue2-项目资源收集
    git 忽略文件夹
    运行npm run eject报错解决方法
    柯里化函数
    常用正则表达式总结
  • 原文地址:https://www.cnblogs.com/Colored-Mr/p/4681020.html
Copyright © 2020-2023  润新知