如何创建一个包含需要引号的键的 Lua 类型?

我想创建一个类型,它有一个包含无效字符的字段。使用表格,我可以这样做:

local Element = {
  ["$$typeof"] = 31337,
}

但是,使用 Roblox Luau 类型,我不能这样做:

类型元素 = {
  ["$$typeof"]: 数字,
}

我怎样可以强类型化我的 Element 表格的该字段,而不使用 any

原文链接 https://stackoverflow.com/questions/69473417

点赞
stackoverflow用户724314
stackoverflow用户724314

截至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的源文件不必启用strict-mode,但是,如果您想要针对这些强类型进行类型检查,在实践中应尽可能在所有源文件中使用strict mode。

2021-10-06 22:40:48