0Pricing
Lua Academy · 课时

math 库

floor、ceil、random 等函数。

math 库 是 CoddyKit 上的免费 Lua Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Lua Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Lua Academy 课程共包含 4 节课。

认识 math 库

Lua 自带一个内置的 math 库,其中包含许多用于处理数字的实用函数和常量。

您可以使用 math. 前缀调用其中的函数,例如 math.sqrt(9)。无需进行任何设置或导入。

print(math.sqrt(9))

绝对值

math.abs() 返回数字的绝对值,去除负号。

因此,math.abs(-5) 得到 5,而 math.abs(5) 也得到 5。

print(math.abs(-5))
print(math.abs(3))

向下和向上取整

使用 math.floor() 将数字向下取整到最接近的整数,使用 math.ceil() 向上取整。

  • math.floor(3.7) 等于 3
  • math.ceil(3.2) 等于 4
print(math.floor(3.7))
print(math.ceil(3.2))

最大值和最小值

math.max() 返回参数中的最大值,而 math.min() 返回最小值。

您可以传入任意数量的数字。

print(math.max(3, 9, 1))
print(math.min(3, 9, 1))

平方根

math.sqrt() 计算一个数字的平方根。结果是浮点数。

对于其他次方根,请使用 ^ 运算符,例如使用 27 ^ (1/3) 求立方根。

print(math.sqrt(16))
print(math.sqrt(2))

幂运算

您可以使用 ^ 运算符进行幂运算,这也是现代 Lua 中通常采用的方式。

例如,2 ^ 10 得到 1024.0。结果始终是浮点数。

print(2 ^ 10)
print(5 ^ 2)

常量 pi

该库提供了常量 math.pi,其值就是圆周率 pi(约为 3.14159)。

它可用于圆和三角学计算,例如求圆的面积。

local r = 2
print(math.pi * r ^ 2)

无穷大与 huge

math.huge 表示正无穷大,也就是可能的最大浮点数值。

搜索最小值时经常将它作为初始值,因为任何实数都比它小。

print(math.huge)
print(-math.huge)

随机数

math.random() 返回一个随机数。不传参数时,它会返回 0 到 1 之间的浮点数。

传入一个整数参数 n 时,它会返回 1 到 n 之间的整数。传入两个参数时,它会返回该范围内的一个值。

print(math.random(1, 6))

设置随机种子

使用 math.randomseed() 设置随机生成器的起点。使用当前时间设置随机种子,会使每次运行生成不同的序列。

在 Lua 5.4 中,生成器会自动设置随机种子;不过,如果您希望结果可复现,显式设置随机种子会很有用。

math.randomseed(42)
print(math.random(1, 100))

三角学

该库包含 math.sin()、math.cos() 和 math.tan() 等三角函数。它们要求使用弧度表示角度,而不是度数。

将度数乘以 math.pi / 180 即可进行转换。

print(math.sin(math.pi / 2))
print(math.cos(0))

快速检查

检查您对数学库的掌握情况。

回顾

您探索了 math 库中的 abs、floor、ceil、max、min、sqrt 和三角函数。

您还了解了常量 math.pi 和 math.huge,以及用于生成随机数的 math.random 和 math.randomseed。

接下来,您将学习如何格式化数字,以便输出更加整洁。

常见问题解答

「math 库」课时是免费的吗?

是的 — 「math 库」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Lua Academy 课程的其余内容,请升级到 CoddyKit PRO。 Lua Academy 课程共包含 4 节课。

「math 库」这节课中我会学到什么?

floor、ceil、random 等函数。 你通过在浏览器中直接运行的动手代码来练习 Lua Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Lua Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Lua Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「math 库」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Lua Academy 课中编写并运行代码吗?

能。每节 Lua Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 整数与浮点数
  2. 算术运算符
  3. math 库
  4. 数字格式化
← 返回 Lua Academy