Lua基础---运算符
众所周知,C,C++,python等语言都有运算符,那么Lua也不例外,因为它是C写的嘛!
Lua分为主要三类运算符,分别是算术运算符,关系运算符,逻辑运算符,还有特殊运算符。
1、算术运算符有: + (加) -(减) *(乘) /(除) %(取模) ^(求幂) -(符号)
来看一个例子:test6.lua
num1 = 4 ; num2 = 2 ; print(num1+num2); print(num1-num2); print(num1*num2); print(num1/num2); print(num1%num2); print(num1^num2); print(-num1);
解释运行:lua test6.lua
结果:
6
2
8
2.0
0
16.0
-4
2、关系运算符有: ==(等于) ~=(不等于) >(大于) <(小于) >=(大于等于) <=(小于等于)
当比较结果成立返回true,否则返回false
来看一个例子: test6.lua
num = 1 ; num1 = 1; num2 = 2; num3 = 3; num4 = 4; num5 = 5; num6 = 6; ret = num1 == num2 ; print(ret); ret = num1 ~= num2 ; print(ret); ret = num3 > num2 ; print(ret); ret = num4 < num3 ; print(ret); ret = num5 >= num6 ; print(ret); ret = num1 <= num ; print(ret);
解释运行:lua test6.lua
结果:
false
true
true
false
false
true
3、逻辑运算符有: and(逻辑与) or(逻辑或) not(逻辑非)
假设有A和B,如果A and B, 为真返回A,为假返回B
假设有A和B ,如果A or B , 为真返回A ,为假返回B
假设有A和B ,如果 not A , 为真返回true ,为假返回false
来看一个例子:test6.lua
num1 = 100 ; num2 = 200 ; num3 = 0 ; ret = num1 and num3 ; print(ret); ret = num1 or num3 ; print(ret); ret = not num1 ; print(ret); ret = not(num1 and num2); print(ret);
解释运行:lua test6.lua
结果:
0
100
false
false
4、特殊运算符
.. 表示连接两个字符串 #表示返回字符串或者表的长度(注意,这里的长度不包括'\0')
案例: test6.lua
--定义两个字符串 str1 = "Hello"; str2 = "World"; --连接两个字符串 ret = str1..str2; print(ret); --获取连接后的字符串的长度 str_length = #ret ; print(str_length);
解释运行: lua test6.lua
HelloWorld
10
当然,lua的运算符也是有优先级的,优先级从高到底的顺序为:
^ not -(负号) * / + - .. < > <= >= ~= == and or
Lua基础---运算符的更多相关文章
- Lua 基础
Lua 5.3 的中文手册, http://cloudwu.github.io/lua53doc 在线浏览 --第一部分 -- 两个横线开始单行的注释 --[[ 加上两个[和]表示 多行的注释. -- ...
- [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式
[.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...
- Lua基础 函数(一)
转自: http://blog.csdn.net/wzzfeitian/article/details/8653101 在Lua中,函数是对语句和表达式进行抽象的主要方法.既可以用来处理一些特殊的工作 ...
- js基础——运算符
爱创课堂前端培训--js基础 运算符一.运算符 运算符(Operators,也翻译为操作符),是发起运算的最简单形式.分类:(运算符的分类仁者见智,本课程进行一下分类.)数学运算符(Arithmeti ...
- 基础运算符补充,流程控制之if判断/while循环
常量 常量即指不变的量.在python中没有一个专门 的语法代表常量,程序员约定俗成地用变量名全部被大写代表常量. AGE_OF_OLDBOY = 56 基础运算符补充 1.算术运算 加减乘除+ - ...
- Lua基础之MetaTable(6)
Lua基础之MetaTable(6) 转载地址:http://nova-fusion.com/2011/06/30/lua-metatables-tutorial/ 关于MetaTable的补充:ht ...
- python常用命令和基础运算符
基础运算符 http://www.cnblogs.com/alex3714/articles/5465198.html 身份运算符:is is not成员运算符:in not in ##in 判断元素 ...
- 分分钟钟学会Python -基础&运算符
day002 基础&运算符 1.循环语句 ### 1.循环格式 while 条件: print('') ''' while True: print('人生苦短,我用Python.') ''' ...
- 10-12C#基础--运算符
10-12C#基础--运算符 课前作业:班级内人数的姓名和年龄,分别写出之后并汇总. 一.运算符的分类 1.数学运算符(7个) 1)+(加号) 例: 2)-(减号) 例: 3)*(乘号) 例: 4)/ ...
随机推荐
- go——字典(二)
字典是一种数据结构,用于存储一系列无序的键值对. 字典是基于键来存储值.字典功能强大的地方是能够基于键快速检索数据. 键就像索引一样,指向与键关联的值. 1.内部实现 字典是一个集合,可以使用类似处理 ...
- ZOJ - 3593 One Person Game (扩展欧几里得)
题意:一个人在坐标A,要前往坐标B的位置.可以往左或往右走a,b,a+b个单位,求到达B的最小步数. 分析:扩展欧几里得算法求解线性方程的套路不变.令C=fabs(A-B),c = a+b, 扩展gc ...
- grid布局笔记
1.应用 display: grid 的元素.这是所有网格项(Grid Items)的直接父级元素.即容器 2.网格容器(Grid Container)的子元素(直接子元素). 3.注意:在 网格容器 ...
- c语言URL通过Http下载mp3 格式
通过http协议下载MP3的关键就是 整块打包,一块一块向文件里面存储.读取的时候用二进制 /***szWebAddr: 页面地址(包含host+addr) szMp3FileName:将要存储文件的 ...
- java中最常用jar包的用途
jar包用途 axis.jarSOAP引擎包commons-discovery-0.2.jar用来发现.查找和实现可插入式接口,提供一些一般类实例化.单件的生命周期管理的常用方法.jaxrpc.jar ...
- Easy-RSA 3快速入门自述文件
Easy-RSA 3快速入门自述文件 这是使用Easy-RSA版本3的快速入门指南.运行./easyrsa -h可以找到有关使用和特定命令的详细帮助.可以在doc /目录中找到其他文档. 如果您从Ea ...
- 《Maven实战》第5章 坐标和依赖
5.1 Maven坐标——项目唯一标识 groupId(必须定义):定义Mavan项目隶属的实际项目,如SpringFramework,一个实际项目可包含多个Maven项目 artifactId(必须 ...
- Makefile文件应用——huge项目
提高复用性 在build目录下,保存公用部分make.rule (1)绝对路径 用ROOT变量保存项目根目录 (2)增加控制变量 EXE/LIB/ (3)头文件查找目录 gcc 的-I(i的大写)选项 ...
- maven更换下载镜像源-解决下载慢问题
Maven是当前流行的项目管理工具,但官方的库在国外经常连不上,连上也下载速度很慢.国内oschina的maven服务器很早之前就关了.今天发现阿里云的一个中央仓库,亲测可用. 1 <mirro ...
- org.apache.log4j.Logger用法
在应用程序中添加日志记录总的来说基于三个目的 :监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作:跟踪代码运行时轨迹,作为日后审计的依据:担当集成开发环境中的调试器的作用,向文 ...