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