在 Lua 中定义表中的元素类型

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

local Player: Player = nil

但是当我尝试定义表中元素的类型时,它并没有按照我想象的方式进行:

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

这是我第一次使用 type,那么有人知道正确的使用方式吗?

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

点赞
stackoverflow用户936986
stackoverflow用户936986

在Luau中,你不能随意将类型设置为表格成员。你需要在表创建时或在其创建范围内为所有成员设置类型。

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

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

或者你可以先创建一个具有零表达式{}的表格,然后为其成员分配类型值,在离开创建范围之前表达成员类型。但是一旦你离开这个范围,表格被“封闭”,将不允许进行更改。

local PlayerProfile = {}
PlayerProfile.Player = "string"
PlayerProfile.SomeField = 123 -- number,类型是从初始化值推断出来的
2021-12-30 09:18:40