如何在Luau的export type中定义数字范围的可接受参数?
Luau中为Windfield类型定义1-2范围的VisualMode属性
Luau支持原生的数字范围类型语法,可直接用1..2来表示1到2之间(包含两端)的数字类型,这属于类型层面的提示(非运行时强制约束),完全匹配你的需求。
修改后的类型与OOP代码
export type Windfield = { Visualized: boolean, VisualMode: 1..2 -- 定义1到2之间的数字范围类型 } local module = {} module.WindfieldClass = {} module.WindfieldClass.__index = module.WindfieldClass function module.WindfieldClass.new() -- 标注self类型并设置默认值,避免类型检查警告 local self: Windfield = { Visualized = false, VisualMode = 1 } setmetatable(self, module.WindfieldClass) return self end return module
关键说明
1..2是Luau的闭区间范围类型,类型检查器会在赋值超出1-2范围时给出警告,但不会在运行时强制限制,满足你“非强制约束”的要求。- 该范围类型支持区间内的所有数字,包括浮点数(比如1.5),不局限于整数。
- 在构造函数中给
self标注Windfield类型并设置默认值,能让Luau的类型检查器更好地发挥作用,减少不必要的语法警告。
内容的提问来源于stack exchange,提问作者user30410886
相关产品推荐
相关产品推荐

