Menu
CoddyTech

什么是 Luau?

本课属于 Coddy Lua 学习旅程的“Luau 入门”单元。第 1 课,共 80 课。

Luau 是 Roblox 创建的一种编程语言,它基于你已经熟悉的 Lua,并添加了渐进式静态类型。你可以把它看作带有额外安全保障和工具支持的 Lua。数百万个 Roblox 体验都由它驱动,而且它自 2021 年起就已开源。

关键在于,Luau 是 Lua 5.1 的超集。任何有效的 Lua 5.1 代码也是有效的 Luau 代码:你可以将前面几个单元中编写的脚本直接作为 Luau 运行,无需修改。

Luau 在此基础上增加了类型注解。注解会声明变量应该存放哪种数据,例如字符串、数字、布尔值或表,这样在代码运行之前就能发现错误:

-- Lua(也适用于 Luau)
local playerName = "Rio"

-- 带有类型注解的 Luau
local playerName: string = "Rio"

“渐进式”这一点很重要:类型注解是可选的。你可以为一个变量、一个函数或整个文件添加类型:未标注类型的 Lua 风格代码仍然可以正常运行,你可以按照自己的节奏逐步添加类型。

作为回报,你能获得更完善的编辑器工具支持、更易读的代码,以及防止这类错误的保护,而普通 Lua 只有在程序运行时才会发现这些错误。

challenge icon

挑战

简单

将这个 Lua 变量改为带类型的 Luau 变量。

  1. 在 local message = "Hello World" 这一行,在 message 后面添加 : string。
  2. 保持 print(message) 这一行不变。

按下运行代码:输出会显示 Hello World。

亲手试试

-- 普通 Lua:message 还没有类型
local message = "Hello World"
print(message)

Luau 入门中的所有课

自己练习: Luau 在线编译器