在 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
所以当我定义一个变量的类型时,它完全没问题:
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