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

最新文章

  1. 对COM 组件的调用返回了错误 HRESULT E_FAIL
  2. ILGenerator.Emit动态 MSIL编程(一)之基础
  3. [2014.01.27]wfTextImage 文字图像组件 1.6
  4. Java多线程系列--“JUC集合”03之 CopyOnWriteArraySet
  5. Nginx负载均衡 后端服务器怎么共享Session 问题
  6. bzoj2245: [SDOI2011]工作安排
  7. Android中ListView嵌套GridView的简单消息流UI(解决宽高问题)
  8. jQuery插入节点的方法
  9. Orcale语句大全
  10. 【甘道夫】Win7x64环境下编译Apache Hadoop2.2.0的Eclipse小工具
  11. 五年 Web 开发者 star 的 github 整理说明
  12. 详谈JavaScript原型链
  13. Selenium2Lib库之操作浏览器相关的关键字实战
  14. Vue 旅游网首页开发2 - 首页编写
  15. CentOS7+Win10双系统的CentOS7启动bug
  16. Python:Day44 Javascript
  17. css- @media @font-face 的理解
  18. layer弹出框确定前验证:弹出消息框(弹出两个layer)
  19. BZOJ 2242 [SDOI2011]计算器 | BSGS
  20. Fluent UDF【6】:预处理命令

热门文章

  1. [十二省联考2019] 异或粽子 - 可持久化Trie,堆
  2. oracle 处理Session不够用
  3. 安卓开发中遇到java.net.SocketException: Permission denied
  4. 关于List比较好玩的操作
  5. 自定义Nginx返回页面
  6. python中的replace无法替换字符串
  7. js的6道基础题(笔试常考题)
  8. GCC中 -I、-L、-l 选项的作用
  9. opencv3.2.0+opencv_contrib-3.2.0+vs2015相关文件的配置
  10. resize函数