六、Lua运算符

文章目录

  • 一、Lua 运算符
    • (一)算术运算符
    • (二)关系运算符
    • (三)逻辑运算符
    • (四)其他运算符
  • 二、运算符优先级

一、Lua 运算符

运算符是一个特殊的符号,用于告诉解释器执行特定的数学或逻辑运算。Lua提供了以下几种运算符类型:

(一)算术运算符

表列出了 Lua 语言中的常用算术运算符,设定 A 的值为10,B 的值为 20:
在这里插入图片描述

a = 21
b = 10
c = a + b
print("Line 1 - c 的值为 ", c )
c = a - b
print("Line 2 - c 的值为 ", c )
c = a * b
print("Line 3 - c 的值为 ", c )
c = a / b
print("Line 4 - c 的值为 ", c )
c = a % b
print("Line 5 - c 的值为 ", c )
c = a^2
print("Line 6 - c 的值为 ", c )
c = -a
print("Line 7 - c 的值为 ", c )

在这里插入图片描述
在 lua 中,/ 用作除法运算,计算结果包含小数部分,// 用作整除运算,计算结果不包含小数部分:

a = 5
b = 2print("除法运算 - a/b 的值为 ", a / b )
print("整除运算 - a//b 的值为 ", a // b )

在这里插入图片描述

(二)关系运算符

下表列出了 Lua 语言中的常用关系运算符,设定 A 的值为10,B 的值为 20:
在这里插入图片描述

a = 21
b = 10if( a == b )
thenprint("Line 1 - a 等于 b" )
elseprint("Line 1 - a 不等于 b" )
endif( a ~= b )
thenprint("Line 2 - a 不等于 b" )
elseprint("Line 2 - a 等于 b" )
endif ( a < b )
thenprint("Line 3 - a 小于 b" )
elseprint("Line 3 - a 大于等于 b" )
endif ( a > b ) 
thenprint("Line 4 - a 大于 b" )
elseprint("Line 5 - a 小于等于 b" )
end-- 修改 a 和 b 的值
a = 5
b = 20
if ( a <= b ) 
thenprint("Line 5 - a 小于等于  b" )
endif ( b >= a ) 
thenprint("Line 6 - b 大于等于 a" )
end

在这里插入图片描述

(三)逻辑运算符

在这里插入图片描述

a = true
b = trueif ( a and b )
thenprint("a and b - 条件为 true" )
endif ( a or b )
thenprint("a or b - 条件为 true" )
endprint("---------分割线---------" )-- 修改 a 和 b 的值
a = false
b = trueif ( a and b )
thenprint("a and b - 条件为 true" )
elseprint("a and b - 条件为 false" )
endif ( not( a and b) )
thenprint("not( a and b) - 条件为 true" )
elseprint("not( a and b) - 条件为 false" )
end

在这里插入图片描述

(四)其他运算符

在这里插入图片描述
我们可以通过以下实例来更加透彻的理解连接运算符与计算表或字符串长度的运算符的应用:

a = "Hello "
b = "World"print("连接字符串 a 和 b ", a..b )print("b 字符串长度 ",#b )print("字符串 Test 长度 ",#"Test" )print("长度 ",#"www.wonyoung.com" )

在这里插入图片描述

二、运算符优先级

^
not    - (unary)
*      /       %
+      -
..
<      >      <=     >=     ~=     ==
and
or

除了 ^ 和 … 外所有的二元运算符都是左连接的。

a+i < b/2+1          <-->       (a+i) < ((b/2)+1)
5+x^2*8              <-->       5+((x^2)*8)
a < y and y <= z     <-->       (a < y) and (y <= z)
-x^2                 <-->       -(x^2)
x^y^z                <-->       x^(y^z)
a = 20
b = 10
c = 15
d = 5e = (a + b) * c / d;-- ( 30 * 15 ) / 5
print("(a + b) * c / d 运算值为  :",e )e = ((a + b) * c) / d; -- (30 * 15 ) / 5
print("((a + b) * c) / d 运算值为 :",e )e = (a + b) * (c / d);-- (30) * (15/5)
print("(a + b) * (c / d) 运算值为 :",e )e = a + (b * c) / d;  -- 20 + (150/5)
print("a + (b * c) / d 运算值为   :",e )

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/228235.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

集成IDE开发环境,Java开发工具IntelliJ IDEA 2023中文

IntelliJ IDEA 2023是一款功能强大的软件&#xff0c;其为程序员提供了一款先进的集成开发环境。它以智能、高效和人性化为主要特点&#xff0c;致力于提高开发人员的生产力&#xff0c;帮助程序员更快、更好地编写代码。IntelliJ IDEA 2023支持多种语言和框架&#xff0c;包括…

MFC哈希实现 目标:知道初始密码的人,才能改密码及登录。只知道登录密码只能登录。避免密码直接写在代码里或本地,通过软件评估报告。----安全行业基础5

一种简单的登录设计&#xff0c;密码保存在本地。&#xff08;直接MD5不安全&#xff0c;别人可以更换本地的密码,得再加一层算法就相对安全一点&#xff09; 当然也可以用加密机或专门存密码的系统来实现&#xff0c;就过于复杂。目标&#xff1a;1、为了避免密码直接写在代码…

网络安全小白自学

一、网络安全应该怎么学&#xff1f; 1.计算机基础需要过关 这一步跟网安关系暂时不大&#xff0c;是进入it行业每个人都必须掌握的基础能力。 计算机网络计算机操作系统算法与数据架构数据库 Tips:不用非要钻研至非常精通&#xff0c;可以与学习其他课程同步进行。 2.渗透技…

常用的Linux的指令

目录 常用指令 1、文件和目录操作&#xff1a; 2、文件查看和编辑 3、系统信息 4、进程管理 5、用户和权限 6、网络操作 7、压缩和解压 8、软件包管理 常用指令 1、文件和目录操作&#xff1a; ls&#xff1a;列出目录内容 cd&#xff1a; 切换目录 pwd&#xff1a;显…

vue2+el-select实现分页加载更多功能

需求&#xff1a; 由于项目下拉框数据过多&#xff0c;一次性加载完&#xff0c;会有性能问题&#xff0c;于是希望可以增加分页加载更多功能。 实现效果&#xff1a; 如上图&#xff1a;点击“点击加载更多”按钮&#xff0c;实现分页加载下一页&#xff0c;直到最后一页&am…

华为云(HECS)docker环境下安装jenkins

Jenkins是一个开源的自动化工具&#xff0c;可以自动化地完成构建、测试、交付或部署等任务。总之重点就是三个字&#xff1a;自动化&#xff0c;至于如何实现这些功能&#xff0c;Jenkins基于插件化的机制&#xff0c;提供了众多的插件来完成持续集成CI与持续部署CD。 【持续…

网络安全--基于Kali的网络扫描基础技术

文章目录 1. 标准ICMP扫描1.1使用Ping命令1.1.1格式1.1.2实战 1.2使用Nmap工具1.2.1格式1.2.2实战1.2.2.1主机在线1.2.2.2主机不在线 1.3使用Fping命令1.3.1格式1.3.2实战 2. 时间戳查询扫描2.1格式2.2实战 3. 地址掩码查询扫描3.1格式3.2实战 2. TCP扫描2.1TCP工作机制2.2TCP …

flask web开发学习之初识flask(一)

一、概念 flask是一个使用python编写的轻量级web框架&#xff0c;作者为Armin Ronacher&#xff08;中文名&#xff1a;阿尔敏罗纳彻&#xff09;&#xff0c;它广泛被应用于web开发和API。flask提供了简洁而灵活地方式来构建web应用&#xff0c;它不会强加太多约束&#xff0…

iOS 通用链接的配置(Universal Links)

一、打开Associated Domains 1.首先登录 苹果开发者网站 2.Certificates, Identifiers & Profiles 下的Identifiers 找到要配追的Identifiers 点进去 3.打开Associated Domains然后保存 二、更新Profile文件 如果我们使用自动的&#xff0c;可以忽略这一步&#xff0c;…

Linux详解——常用命令(二)

目录 一、常用命令 1.进程相关命令 2.vi命令 3.软件相关命令 RPM命令 YUM命令 4.用户和组相关命令 5.权限相关命令 一、常用命令 1.进程相关命令 # 1.ps 询在当前控制台上运行的进程 ps -aux 说明:查询系统中所有运行的进程&#xff0c;包括后台进程&#xff0c;其…

服务器主机安全如何保障

随着互联网的快速发展&#xff0c;服务器主机安全问题日益凸显。服务器主机是网络世界中的核心&#xff0c;其安全性关乎着整个网络系统的稳定性和可靠性。 当前&#xff0c;服务器主机面临着多种安全威胁。其中&#xff0c;网络攻击是最为常见的一种。网络攻击者利用各种手段…

linux获得帮助_如何查看命令的用法、作用

Linux获得帮助 多层次的帮助&#xff1a; whatis command --help man and info /usr/share/doc/ Red Hat documentation 、Ubuntu documentation 软件项目网站 其它网站 搜索 whatis 使用数据库来显示命令的简短描述。 [rootlocalhost ~]# whatis rm rm (1) …