UH2S1L13——自带库

本章代码关键字

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
os.time()            --返回时间戳,没有任何参数,就会返回当前时间的时间戳,传入包含year, month, day域的表,返回指定时间的时间戳
os.date("*t") --返回一个包含当前时间的表,里面有各种时间单位
math.abs() --绝对值
math.pi --π的值
math.deg() --弧度转角度
math.cos() --三角函数
math.floor() --向下取整
math.ceil() --向上取整
math.max() --最大值
math.min() --最小值
math.modf() --分离整数与小数
math.randomseed() --设置随机数种子
math.random() --随机数
math.sqrt() --开方
package.path --获取加载外部脚本

时间相关

时间戳

os.time()​,如果没有任何参数,就会返回当前时间的时间戳
如果参数一个table​,并且table​的域必须有year, month, day​。可有也可以没有hour, min, sec, isdst,
则会返回table​所代表日期的时间戳,如果未定义后几项,默认时间为当天正午(12:00:00)
返回值是一个number​ ,其值取决于你的系统。

1
2
print(os.time())
print(os.time({year = 2014, month = 8, day = 14}))
1
2
1706778343        --转换后,可发现其值为2024-02-01 17:05:43
1407988800

获取当前时间

os.date("*t")​,固定写法,返回一个包含当前时间的表,里面有各种时间单位

1
2
3
4
local nowTime = os.date("*t")
for key, value in pairs(nowTime) do
print(key, value)
end
1
2
3
4
5
6
7
8
9
hour    17
min 10
wday 5
day 1
month 2
year 2024
sec 38
yday 32
isdst false

数学运算相关

绝对值

返回绝对值

1
print(math.abs(-11))

弧度转角度

从弧度转换为角度

1
print(math.deg(math.pi))

三角函数(弧度)

返回余弦值(假定参数是弧度)

1
print(math.cos(math.pi))

向下取整

返回不大于传入参数的最大整数值。

1
print(math.floor(2.6))

向上取整

返回不小于传入的最小整数值。

1
print(math.ceil(5.2))

最大值

返回参数中最大的值, 大小由 Lua 操作 <​ 决定

1
print(math.max(1, 2))

最小值

返回参数中最小的值, 大小由 Lua 操作 <​ 决定

1
print(math.min(2, 5))

小数分离

返回传入参数的整数部分和小数部分

1
print(math.modf(1.2))
1
1    0.2

随机数

需要先设置随机数种子,再设置随机数

math.randomseed(x, y)​: 将 x​ 与 y​ 连接为128位的种子来重新初始化伪随机生成器,第二个参数可不填

  • math.random()​: 返回 [0,1) 区间内一致分布的浮点伪随机数。
  • math.random(n)​: 返回 [1, n] 区间内一致分布的整数伪随机数。
  • math.random(m, n)​: 返回 [m, n] 区间内一致分布的整数伪随机数。
1
2
3
math.randomseed(os.time())
print(math.random(100))
print(math.random(100))

开方

返回平方根

1
print(math.sqrt(4))

路径

可以通过package.path​获取使用require​加载脚本会搜索的路径,对其进行字符串拼接还可以添加路径

1
2
3
print(package.path)
package.path = package.path .. ";C:\\"
print(package.path)
1
2
;.\?.lua;D:\Lua\5.1\lua\?.lua;D:\Lua\5.1\lua\?\init.lua;D:\Lua\5.1\?.lua;D:\Lua\5.1\?\init.lua;D:\Lua\5.1\lua\?.luac
;.\?.lua;D:\Lua\5.1\lua\?.lua;D:\Lua\5.1\lua\?\init.lua;D:\Lua\5.1\?.lua;D:\Lua\5.1\?\init.lua;D:\Lua\5.1\lua\?.luac;C:\