LUA学习笔记(第18-20章)
数学库
print(math.pi)-->π
print(math.huge)-->Lua中表示的最大数字
--[[
3.1415926535898
1.#INF
]]
print(math.rad(90))-->转换成弧度
print(math.deg(math.pi))-->转换成角度
math.random()用于生成伪随机数
不带参数,它将返回【0, 1]内均匀分布的伪随机实数
带参数n(整数),它将返回【1, n】内均匀分布的伪随机整数
带参数m,n(整数),它将返回【m, n】内均匀分布的伪随机整数
math.randomseed用于设置伪随机数生成器的种子数
math.randomseed(os.time())
math.randomseed(os.time())
for i=1,5 do
print(math.random(6))
end
table库
arr = {}
for i=1,10 do
arr[i] = i * 10
end print("the length of arr is " .. #arr)
for i,v in ipairs(arr) do
print("arr[" .. i .. "] = " .. v)
end
lines = {luaH_set = 10, luaH_get = 24, luaH_present = 48} for i,v in pairs(lines) do
print(i, v)
end
插入
arr = {}
for i=1,10 do
arr[#arr + 1] = i * 10
end print(table.concat(arr, " : ", 1, 10))
遍历嵌套数组
function printer(arr)
if type(arr) ~= "table" then
print(arr)
return
end
for i=1,#arr do
printer(arr[i])
end
end s = {{"a", "nice"}, "and", {"long"}, {"day"}}
--printer(s)
printer(s)
function printer(arr)
if type(arr) ~= "table" then
return arr
end
local res = {}
for i=1,#arr do
res[i] = printer(arr[i])
end
return table.concat(res, " ")
end local s = {{"a", "nice"}, "and", {"long"}, {"day"}} print(printer(s))
排序
table.sort(arr)
print(unpack(arr))
if x < y then
return true
else
return false
end
end
arr = {2, 5, 1, 3, 4}
table.sort( arr, sortfunction)
print(unpack(arr))
lua中无法对table的索引排序,只能将key保存在数组,再对数组排序。
lines = {
luaH_set = 10,
luaH_get = 24,
luaH_present = 48,
} arr = {}
for key in pairs(lines) do
arr[#arr + 1] = key
end print(unpack(arr))
table.sort(arr)
print(unpack(arr))
LUA学习笔记(第18-20章)的更多相关文章
- LUA学习笔记(第5-6章)
x = a or b 如果a为真则x = a 如果a为假则x = b print(a .. b) 任何非nil类型都会被连接为字符串,输出 多重返回值 local s,e = string.find( ...
- LUA学习笔记(第1-4章)
需要一种简单的脚本语言来代替批处理,它需要足够小巧,同时功能上也应该足够强劲,自然选择了LUA语言. 第一章 Hello World print('Hello World') print(" ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十三章:计算着色器(The Compute Shader)
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十三章:计算着色器(The Compute Shader) 代码工程 ...
- [转]LUA 学习笔记
Lua 学习笔记 入门级 一.环境配置 方式一: 1.资源下载http://www.lua.org/download.html 2.用src中的源码创建了一个工程,注释调luac.c中main函数,生 ...
- 《jQuery权威指南》学习笔记之第2章 jQuery选择器
2.1 jQuery选择器概述 2.1.1 什么使选择器 2.1.2 选择器的优势: 代码更简单,完善的检测机制 1.代码更简单 示例2-1 使用javascript实现隔行变色 < ...
- Lua学习笔记4. coroutine协同程序和文件I/O、错误处理
Lua学习笔记4. coroutine协同程序和文件I/O.错误处理 coroutine Lua 的协同程序coroutine和线程比较类似,有独立的堆栈.局部变量.独立的指针指令,同时又能共享全局变 ...
- Lua学习笔记:面向对象
Lua学习笔记:面向对象 https://blog.csdn.net/liutianshx2012/article/details/41921077 Lua 中只存在表(Table)这么唯一一种数据结 ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十三章:角色动画
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十三章:角色动画 学习目标 熟悉蒙皮动画的术语: 学习网格层级变换 ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第七章:在Direct3D中绘制(二)
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第七章:在Direct3D中绘制(二) 代码工程地址: https:/ ...
随机推荐
- < python音频库:Windows下pydub安装配置、过程出现的问题及常用API >
< python音频库:Windows下pydub安装配置.过程出现的问题及常用API > 背景 刚从B站上看过倒放挑战之后也想体验下,心血来潮一个晚上完成了基本的实现.其中倒放与播放部分 ...
- linux MySQL 5.7+keepalived 主备服务器自主切换
一.环境准备1.关闭防火墙与selinux systemctl stop firewalld setenforce 0 sed -i 's/SELINUX=.*/SELINUX=disabled/g' ...
- vmware 14 激活码
VMware虚拟机已升级至14版本,之前的12版本的秘钥已经无法使用,在此分享一下VMware Workstation 14永久激活密钥: CG54H-D8D0H-H8DHY-C6X7X-N2KG6 ...
- Ubuntu 18.04 + ROS Melodic + TurtleBot3仿真
1. 下载安装包 官网地址: http://wiki.ros.org/action/show/Robots/TurtleBot?action=show&redirect=TurtleBot 所 ...
- Lincode刷题No.8
8.Rotate String lintcode 题解1: class Solution { public: /** * @param str: An array of char * @param o ...
- C# DataTable数据类型判断
当我们从数据中获取到数据,一般会使用 DataTable 接收,然后会遍历每行数据.由于从数据库中读取的数据可能为空,比如我们的编译代码如下: foreach (DataRow datarow in ...
- Serv_U FTP服务端使用教程
Serv-U FTP Server是一种被广泛运用的FTP服务器端软件,可以设定多个FTP服务器.限定登录用户的权限.登录主目录及空间大小等,功能非常完备.具有非常完备的安全特性,支持SSl FTP传 ...
- Python Django配置Mysql数据库
1 在项目中找到setting文件 打开 2 在里面找到 3 将Databases里面的数据改成 DATABASES = { 'default': { #引擎设置为Mysql 'ENGINE': 'd ...
- 【UEFI】---关于BIOS,EIST和PState&CState和CPU主频变化得关系
Intel处理器都支持Turbo和EIST,且一般情况下,各家厂商在BIOS中都会设置EIST和PState的开关,那么这些开关与CPU的频率的关系是什么呢?今天对此做个总结: 按照国际惯例,本次梳理 ...
- webpack进阶用法你都get到了么?
如何消除无用代码:打包自己的私有js库:实现代码分割和动态import提升初次加载速度:配置eslint规范团队代码规范:打包异常抓捕你都get到了么? 摇树优化:Tree Shaking webpa ...