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

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

    前言

    这里总结的内容和其它语言的基本类似,所以这里就只是基本的进行总结。不做详细的讲解。

    算术操作符

    Lua支持常规的算术操作符有:”+”(加法),”-”(减法),”*”(乘法),”/”(除法),”^”(指数),”%”(取模),一元的”-”(负号)。所有的这些操作符都用于实数。例如:x^0.5将计算x的平方根,x^3将计算x的3次方。

    关系操作符

    Lua提供的关系操作符有:””,”>”,”=”,”>=”,”==”,”~=”;所有这些操作符的运算结果都是true或false。

    操作符==用于相等性测试,操作符~=用于不等性测试。这两个操作符可以应用于任意两个值。如果两个值具有不同的类型,Lua就认为它们是不相等的;特别需要说明的是,nil只与其自身相等。

    对于table、userdata和函数,Lua是作引用比较的。也就是说,只有当它们引用同一个对象时,才认为它们相等。

    逻辑操作符

    Lua提供的逻辑操作符有and、or和not。与条件控制语句一样,所有的逻辑操作符将false和nil视为假,而将其它的任何东西视为真。对于操作符and来说,如果它的第一个操作数为假,就返回第一个操作数;不然就返回第二个操作数。对于操作符or来说,如果它的第一个操作数为真,就返回第一个操作数;不然就返回第二个操作数。这里和C++等语言是存在区别的,Lua的逻辑操作符并不是简单的返回true或false,而是返回操作数的值。例如以下代码:

    复制代码 代码如下:

    print(4 and 5)               -->5
    print(nil and 13)          -->nil
    print(false and 13)     -->false
    print(4 or 5)               -->4
    print(false or 5)          -->5

    and和or都使用“短路求值”,也就是说,它们只会在需要时才去评估第二个操作数。

    字符串连接

    要在Lua中连接两个字符串,可以使用操作符“..”(两个点)。如果其任意一个操作数是数字的话,Lua会将这个数字转换成一个字符串。在Lua中,字符串是不可变的值,连接操作符只会创建一个新字符串,而不会对其原操作数进行任何修改。

    table构造式

    构造式是用于创建和初始化table的表达式。最简单的构造式就是一个空构造式{},用于创建一个空table。构造式还可以用于初始化数组,数组的下标从1开始。例如:

    local tbDays ={"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}
    print(tbDays[1])     -->Sunday
    print(tbDays[2])     -->Monday
    print(tbDays[3])     -->Tuesday
    print(tbDays[4])     -->Wednesday
    print(tbDays[5])     -->Thursday
    print(tbDays[6])     -->Friday
    print(tbDays[7])     -->Saturday
    

    Lua还提供了一种特殊的语法用于初始化table:

    复制代码 代码如下:

    local tb1 = {x=10, y=20}
    print(tb1.x)          -->10
    print(tb1["x"])          -->10

    除此之外,Lua还提供了一种更通用的格式,这种格式允许在方括号之间,显式地用一个表达式来初始化索引值,例如:

    复制代码 代码如下:

    local tb1 = {["+"] = "add", ["-"] = "sub", ["*"] = "mul", ["/"] = "div"}
    print(tb1["+"])

    比如local tb1 = {x=10, y=20}这种构造方式,其实是和local tb1 = {["x"] = 10, ["y"] = 20}是等价的。在实际编程中,这两种构造式,都可以替换的用。

    总结

    纯粹的学习笔记,没有什么可以多说的了。希望对大家学习Lua有用。

    以上所述就是本文的全部内容了,希望大家能够喜欢。

    您可能感兴趣的文章:
    • 详解Lua中的数据类型
    • Lua判断数据类型的方法
    • 实现Lua中数据类型的源码分享
    • Lua数据类型介绍
    • Lua中的基本数据类型详细介绍
    • Lua学习笔记之数据类型
    • 深入探究Lua中的解析表达式
    • Lua教程(三):表达式和语句
    • Lua表达式和控制结构学习笔记
    • Lua中的操作符和表达式总结
    • Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记
    • Lua学习笔记之运算符和表达式
    • Lua中基本的数据类型、表达式与流程控制语句讲解
    上一篇:Lua学习笔记之类型与值
    下一篇:Lua判断Table是否为空的方法(空的table即{})
  • 相关文章
  • 

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

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

    Lua学习笔记之表达式 Lua,学习,笔记,之,表达式,