在 table 中定义元素类型

Defining element type in a table

所以当我定义一个变量的类型时,它完全没问题:

local Player: Player = nil

但是当我尝试在 table 中定义元素的类型时,它并不完全像我想的那样:

PlayerProfile.Player: Player = nil
Missed symbol `(`.Luau Syntax Check.(miss-symbol)

这是我第一次使用 type 所以有人知道这样做的正确方法吗?

您不能在 Luau 中将类型任意设置为随机 table 成员。您需要在 table 创建时或在其创建范围内为所有成员设置类型。

创建时,您可以直接为每个字段设置类型:

type PlayerProfile = {Player: SomeType, OtherField: SomeOtherType}

或者您可以通过首先使用零表达式 {} 创建 table 并在离开创建范围之前将类型值分配给其成员来表达成员类型。但是一旦您离开该范围,table 就会被“密封”并且不允许再进行任何更改。

local PlayerProfile = {}
PlayerProfile.Player = "string"
PlayerProfile.SomeField = 123 -- number, types are inferred from initialization values