用途:当任务核心是纯 Luau 语言行为时使用本技能,例如编写或修正 Luau 语法、选择惯用控制流与作用域、以数组/字典/类对象方式使用表、正确使用标准库、用元表实现索引或运算符或迭代、判断某 Lua 特性是否与 Luau 兼容。若任务主要涉及类型标注与泛型(交由 luau-types)、性能剖析与优化(交由 luau-performance)、Roblox 引擎 API 与运行时概念(使用相应 roblox/* 技能),或混合任务,则只回答纯 Luau 部分并明确排除其余内容;不确定时取更窄的解释。
主要能力与要点:把 Luau 视为 Lua 5.1 加部分扩展,不假设 Lua 5.2+ 特性;默认使用局部变量与局部函数,仅在需要更广作用域时用全局;控制流保持直接,优先 if/elseif/else、循环、break、continue;在提升正确性或可读性时使用 Luau 专有语法,如 if 表达式替代 and/or 三元模拟、左侧只求值一次时用 += 等复合赋值、直接遍历表时用 in table 的广义迭代;有意图地建模表(数组、字典、元表记录);用 : 定义和调用传递 self 的方法,用 . 访问普通函数;优先使用标准库函数而非手写辅助函数;元表少用且显式,只定义所需元方法。
使用方式:技能包含参考文件,按需打开——getting-started-and-syntax.md(语法、字面量、赋值、表达式、Luau 专有语法)、functions-tables-operators-scope-and-control-structures.md(执行模型、函数、闭包、表、真值、迭代、控制流)、metatables-and-userdata-concepts.md(元方法行为、类对象表模式、raw 操作、userdata 边界)、library-and-grammar-reference.md(标准库选择与语法速查)、compatibility-notes.md(与 Lua 对比或版本相关行为)。除非任务跨入其他技能范围,不要打开或引用外部参考。
限制与常见错误:Luau 中只有 false 和 nil 为假,0 和空字符串为真;不能用 a and b or c 作为三元替代;数组从 1 开始;方法定义与调用语法需一致;无字典迭代顺序保证;缺参变 nil、多参忽略;避免在应使用局部或闭包处用全局;不要为简单数据容器过度使用元表;不要假设 goto、位运算符或整数语义存在。