SuperAPI AI 工具集

luau-types

编程与开发

查看项目

更新于 10-16 00:02

技能介绍

luau-types 是面向 Luau 类型系统的专项技能,核心问题是“这个类型应该是什么”以及“代码如何在长期维护中稳定通过类型检查”。

用途:选择 --!strict、--!nonstrict 等文件类型检查模式;为变量、函数、表和模块添加或修正类型标注;设计保留类型推理、不塌缩为 any 的 API;用泛型、联合、交叉、可选和标签联合建模数据;为类表结构、元表模块和导出模块接口编写类型;编写与审查类型函数等高级类型级工具;仅在改善静态类型时使用 Roblox 类、数据类型、枚举或 IsA 知识。

主要能力与做法:优先保留有用推理再补充标注;为共享形状使用具体别名(record 表示结构化数据、indexer 表示字典、{T} 表示数组、导出别名作为模块契约);审慎使用可选、联合与交叉;把 :: 强制转换当作精确化工具而非绕过错误的手段;围绕输入输出关系设计泛型;按 Luau 的分析方式建模表(未密封表可累积字段,标注或返回的表会被密封);对象式模块需分离实例数据与类行为,从 setmetatable 推导实例类型,并在方法需要共享类类型时显式标注 self。

使用方式:技能按需打开自身的参考文档,如 type-system-overview、basic-types-and-table-typing、generics、unions-and-intersections、refinements、object-oriented-typing、type-functions、roblox-types-in-luau,分别覆盖文件模式、基础类型与表、泛型、联合与交叉、类型细化、面向对象类型、类型函数和 Roblox 类型。若任务转向纯语法应交给 luau-core,转向性能优化应交给 luau-performance,涉及 Roblox 运行时架构应使用相应 roblox/* 技能。

适用场景:为模块导出稳定契约、保持泛型关系、细化标签联合、为对象式模块标注 self 等类型工作。

限制:不处理通用 Luau 语法、控制流、元表和标准库的非类型用法;不涉及运行时性能、剖析与内存分配;不涉及 Roblox 网络、复制、数据存储、云 API 或玩法架构;除类型名与类型细化外,不深入 Roblox 运行时架构。其他收费、价格、平台等信息暂未提供。