Luau 在线编译器
编写、运行和分享代码片段,无需任何配置。
在浏览器中在线运行 Luau
这是一个免费的 Luau 在线编辑器和代码运行工具。编写 Luau(Roblox 的渐进式类型 Lua 方言),点击运行,真正的 luau 解释器会在几秒内执行它。不需要 Roblox Studio,不用从源码构建命令行工具,什么都不用安装。
编辑器基于与 VS Code 相同的引擎,使用基于 Lua 的语法高亮(这是与 Luau 最接近的语法)。你的代码由 Alpine Linux 上的官方 luau 程序运行,可以使用 string、table、math、os、coroutine 和 bit32 等标准库,所以类型注解、字符串插值、+=、continue 和 if-then-else 表达式都和语言本身的行为完全一致。
这个 Luau 在线编辑器好用在哪里
- 即时运行 Luau 代码:写好代码,点击运行,几秒内就能看到真正的
luau解释器的输出。不需要 Roblox Studio,不需要 CMake 构建,也不需要工具链。 - Luau 特有的语法都能照写照跑:类型注解(
local hp: number = 100)、类型化的表、泛型、反引号字符串插值、复合赋值(+=、..=)、continue和if-then-else表达式。 - 支持标准输入。
io.read()、io.read("*n")和io.lines()都会从编辑器的输入框读取数据,交互式脚本的表现就像在终端里执行luau script.luau一样,尽管官方 Luau 本身并不带io库。 - 语法错误会附带
luau-compile给出的行号,所以多余的end或写错的类型注解会在代码运行之前就被报告出来。
在 Luau 在线编辑器里可以试试这些
- 类型注解和类型推断:给函数加上注解,传入错误的类型,看运行时能容忍到什么程度。这是快速理解类型在运行时起什么作用、不起什么作用的好办法。
- 类型化的表:数组(
{number})、映射({[string]: number})和用type定义的具名结构,以及table.find、table.clone和table.freeze。 - Luau 独有的语法糖:在反引号字符串中插入值,用
+=自增,用continue跳过一次迭代,或者用if-then-else表达式在一行内选择一个值。
Luau 在线编译器常见问题
Luau 在线编译器是免费的吗?
是的,Luau 在线编辑器可以免费使用。无需注册,不需要 Roblox 账号,也什么都不用安装,打开页面就能运行代码。
需要安装 Roblox Studio 或 luau 命令行工具吗?
luau 解释器执行你的脚本,几秒内返回输出。在线编辑器会对我的 Luau 代码做类型检查吗?
luau 运行你的代码并报告语法错误,但不会运行类型检查器。类型检查是 luau-analyze 的工作,而且无论如何,Luau 的类型在运行时都会被擦除。所以在这里 --!strict 不会阻止脚本运行:类型注解会被解析并运行,错误的类型只有在真正引发运行时错误时才会暴露出来。在配置带类型检查的编辑器之前,用它来学习语法仍然是个好办法。可以使用 game 或 Instance.new 这样的 Roblox API 吗?
game、workspace、Instance.new、各种服务和事件都无法使用。属于语言本身的一切都能正常运行,学习阶段需要的大部分内容都在其中。Roblox 游戏脚本课程 会教你这些 API,脚本会在浏览器中一个类似 Roblox 的小游戏里运行。想现在就在游戏里试试这些 API,请打开 Roblox 脚本在线编辑器。Luau 在线编辑器支持 io.read() 和标准输入吗?
io.read()、读取数字的 io.read("*n"),以及用于遍历的 io.lines(),都会读取你在输入框中输入的内容。官方 Luau 出于沙盒隔离的考虑移除了 io 库,所以 Coddy 在此基础上恢复了这些输入函数,这里的沙盒隔离改由运行环境负责。试过在线编辑器之后,怎么学习 Luau?
修改示例代码,点击运行,反复尝试。想要更系统地学习时,Coddy 的互动 Luau 课程会一步步讲解类型系统:类型注解、类型化的表、联合类型、泛型和严格模式,配有练习、两个项目,学完还能获得证书。学习时可以同时打开 Luau 速查表作为快速参考。
适合 Luau 的实用工具
与 Luau 在线编辑器搭配使用的免费浏览器工具,全部来自 Coddy。