我希望能够创建一个类型,其中有一个字段无效字符。对于表,我可以这样做:
local Element = {
["$$typeof"] = 31337,
}
对于Roblox Luau类型,我不能这样做:
type Element = {
["$$typeof"]: number,
}
如何在不使用any
的情况下强类型元素表中的字段?
截至2022年3月,您可以在Roblox Lua和开源Luau解析器和运行时v0.523或更高版本中执行此操作。
Element.lua
--!strict
export type Element = {
["$$typeof"]: number,
render: (self: Element, x: number, y: number) -> ()
}
local myElement: Element = {
["$$typeof"] = 31337,
render = function(self, a, b) end
}
注意:需要Element的源文件。Lua不必启用严格模式,但是如果您希望对这些强类型的使用进行类型检查,那么您应该在所有源文件中使用严格模式,只要可行。