lua5.3在线手册地址  https://cloudwu.github.io/lua53doc/contents.html#contents 其实我们直接啃手册就够了 推荐如果有基础的先啃手册再看紫猫教程 能节约很多时间

L1[数值]01. 数值写法


小知识:zeroBrance studio工具配置紫猫老师的函数 可以实现按键下的traceprint的基本功能

1.可以显示reaceprint 触发所在的文件名 行数 和 调试的内容

2.在反馈信息区域双击该条反馈 可以快速的跳转到对应的traceprint的位置  还是挺好用的

3 只限于在zeroBrance studio  配合紫猫的traceprint函数

4 traceprint 和print一样都支持 print(x,y,z) 可以同时输出多个各种类型变量  traceprint(10^2,11,23,432,45345,12,"|",34)

function traceprint(...)
local info = debug.getinfo(2)
local line = string.format("%s:%d:", info.source:match(".*\\([^\\]*)"), info.currentline)
print(line, ...)
end

使用注意:文件名尽量不要用中文 lua下尽量用英文 如果用了中文 会出现一些意外 比如上面的双击traceprint跳转到位置会失效 真的要学好英文了 我的天哪

小知识:lua下的数值的各种表示形态

1.整数 小数 3 3.1415926 之类的

2.科学计数法 0.314e1=3.14

3十六进制 0x     traceprint(0x4d2)=》1234      进制转换 https://tool.lu/hexconvert/  不过这个转换 有小数点的转化存在问题 不过一般情况下不会用到带小数点的数值转化为十六进制的

4 十六进制的也支持小数和指数的方式 但是我看了下手册  感觉如此扭曲的十六进制的表示方式  觉得没什么用

小知识:lua数值运算中的自动转化

正常的运算中 除了除法和乘方 其他的运算表达式中 如果参与运算的数值有浮点数 那么结果就是浮点数 这不废话么

除法和乘方中的计算 是先把参与运算的数值转化为浮点数再计算 结果必定是浮点数  想起了当前学校里学习c语言的时候

123

L1[数值]02. 十六进制数值

没什么说的 十六进制的浮点数写起来麻烦 不说了

L1[数值]03. 算术运算符

没什么说的 加减乘除 求余数(%) 求结果整数部分(//) 乘方 (^)  还涉及到了数值计算的自动转换的东西 之前也说了

https://cloudwu.github.io/lua53doc/manual.html#3.4.1  手册说的足够清楚 没什么多余的

了解一下 //是5.3独有的取整运算符 之前版本没有 以前版本用math.modf()函数来处理 

为何不用floor()  floor只是取出整数部分 但是小数部分可能我们也需要用到 而math.modf()函数却可以把整数部分和小数部分都取出来

xx,yy=math.modf(10/3)

traceprint(xx,yy)

结果 test5.lua:18:    3    0.33333333333333

顺便提一下 floor函数 是取数值的整数部分 但是如果想要这个函数会自动四舍五入 那么就

print(flloor(3.14+0.5))--在取整数值上加0.5可以完美解决不会四舍五入的问题

注意:虽然这里说的是5.3的语法 但是按键插件其实是5.2的lua版本

L1[数值]04. 关系运算符

没什么说的

>

<

>=

<=

== 等于 而且是不但是内容一致 类型也要一致

~= 不等于 注意不是!= 而是~=

注意:关系表达式返回的不是true就是false


特殊情况了解:整数2和浮点数2.0 是否相等 

相等 他们内容是一样的 都是2 而且都是数值类型 而浮点数和整数都是属于数值类型 lua里面数值只有1个类型 数值型

traceprint(2==2.0)==》true

L1[数值]05. 逻辑运算符and

1.false和nil是false 其他全是true

2 and or 和按键下的不一样 按键下逻辑表达式返回的不是true就是false 但是lua下的逻辑表达式返回的是参与运算的项的内容

and第一位运算项为false 则返回第一项内容 不然返回第二项内容 (注意第一位为false 那么就不会运行第二项表达式)

or第一个运算项为true 则返回 第一项内容 否则返回第二项内容(注意第一位为true那么就不会运行第二项表达式)

not 永远返回true或者false 没得说

老师这教程果然是针对新手的  硬生生的讲了两节课。。。

细节自己查手册 真的写的很详细了又精干了

L1[数值]05. 逻辑运算符or与not

123

[lua]紫猫lua教程-命令宝典-L1-01-03. 数值数据的更多相关文章

  1. [lua]紫猫lua教程-命令宝典-L1-01-02. 变量

    L1[变量]01. 变量命名规则 命名规则:数字字母下划线构成 但是不能数字开头 不推荐中文名 很多都是不支持中文 但是在一些其他的编辑器里面 比如触摸精灵 之类的 就可以 注意 :变量命名必须要包含 ...

  2. [lua]紫猫lua教程-命令宝典-L1-01-01. Lua环境与IDE

    网上大把的lua教程  不过紫猫老师的教程向来都是讲的非常仔细 所以最近天气已经36+了 魔兽世界还需要冲飞行声望  懒得写单子根本没有单子,正好认认真真的看下紫猫老师的lua教程 紫猫老师的lua教 ...

  3. [lua]紫猫lua教程-命令宝典-L1-01-04. 字符串数据

    L1[字符串]01. 单引号与双引号 没什么说得 字符串:以双引号包含 或者单引号包含 或者[[]]包含 L1[字符串]02. 长文本内容 小知识:如果用[[]]包含字符串内容 但是字符串内容里面 包 ...

  4. [lua]紫猫lua教程-命令宝典-L1-01-10. 自定义函数

    L1[function]01. 定义与调用函数 函数的定义 和概念 没什么可说的 lua的函数声明和调用是有先后顺序的  先声明后调用 函数就是变量的一种 所以可以自由的把函数在变量间相互赋值 不过注 ...

  5. [lua]紫猫lua教程-命令宝典-L1-01-09. string字符串函数库

    L1[string]01. ASCII码互转 小知识:字符串处理的几个共同的几点 1.字符串处理函数 字符串索引可以为负数 表示从字符串末尾开始算起 所有字符串处理函数的 字符串索引参数都使用 2.所 ...

  6. [lua]紫猫lua教程-命令宝典-L1-01-08. math数学函数库

    L1[math]01. 取绝对值 L1[math]02. 三角函数 小知识:注意 lua下三角函数用的参数是弧度 而不是角度 弧度=角度*pi/180  -->弧度角度换算公式  lua的mat ...

  7. [lua]紫猫lua教程-命令宝典-L1-01-07. table表

    L1[table]01. table表的定义与赋值 小知识:声明表的例子 xx={}--创建一个空表xx --给这表的元素赋值 test="a" xx[test]="a& ...

  8. [lua]紫猫lua教程-命令宝典-L1-01-06. 循环结构

    L1[循环]01. for循环结构介绍 只是简单的说了下计数型的for循环结构 for i=1,10,1 do testlib.traceprint(i) end 注意几点: 1.上面的1和10表示循 ...

  9. [lua]紫猫lua教程-命令宝典-L1-01-05. if判断结构

    L1[if]01. 简单的if判断结构 没什么说得 if得基本结构如下 xxx= ) then testlib.traceprint("1-100") ) then testlib ...

随机推荐

  1. Codeforce 230A - Dragons (sort)

    Kirito is stuck on a level of the MMORPG he is playing now. To move on in the game, he's got to defe ...

  2. 《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(4.12-加-6.2-加-7.2.5.2)Fused_Operations

    4.12 Fused Operations 融合操作 融合操作通过“fusing”把两个简单的命令融合一起来支持一个更复杂的命令.协议规定这个特性是可选的:如果支持此特性,需要在Figure 247 ...

  3. 题解 AT3853 【Otoshidama】

    题目传送门. 暴力枚举题. 分析 Step 1:定义两个变量,\(n\)和\(y\). int n,y; cin>>n>>y; Step 2:使用二重循环进行暴力枚举. for ...

  4. easy_thinking

    登陆抓包,改成32位,根据tp6任意创建文件的漏洞,修改cookie. 上传文件. 木马在/runtime/session下, 然后传bypass文件绕过disablefunction,得到flag

  5. 谈谈近期学习Nativejs和reactNative的一些感受

    因为前段时间,对dcloud推出的Nativejs和facebook推出的reactNative都做了一点点浅薄的研究.因为研究的很浅薄,所以仅代表我个人观点,谈谈对运用这两个产品的些许感受. 说起d ...

  6. python中可变类型和不可变类型数据的复制

    常见的复制方式有以下5种第1种:通过等号[=]复制 - 不论可变还是不可变数据类型,通过[=]复制后都指向同一个内存地址: - 改变复制后的数据(例子中的anotherStr,anotherList) ...

  7. SQL语法(UNION,JOIN)

    SQL语法 union, union all UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 注意,UNION 内部的每个SELECT语句必须拥有相同数量的列.列也必须拥有相似的数 ...

  8. PHP毫秒

    PHP毫秒   php的毫秒是没有默认函数的,但提供了一个microtime()函数,该函数返回包含两个元素,一个是秒数,一个是小数表示的毫秒数,借助此函数,可以很容易定义一个返回毫秒数的函数,例如: ...

  9. office2019与Visio2016不能共存解决办法

    我们电脑已经安装office2019,可是安装visio2016就会安装不了.只要两个软件同时安装就可以解决了,简单粗暴. 首先把电脑的offic或者visio都卸载了,删除干净. 然后先打开visi ...

  10. C语言 strlen

    C语言 strlen #include <string.h> size_t strlen(const char *s); 功能:计算指定指定字符串s的长度,不包含字符串结束符‘\0’ 参数 ...