:Lua 中的字符串语法
:string syntax in Lua
我正在关注一个用 Lua 编写的在线 github 项目,遇到了一个我似乎不理解的变量声明。
local pPlayerConfig :table = PlayerConfigurations[playerID];
local statusMessage :string= Locale.Lookup(pPlayerConfig:GetPlayerName());
在这些情况下,:string / :table 是做什么的?那些像预定义类型一样覆盖普通字符串类型吗?
就标准 Lua 而言,这是一个编译错误。这很有可能是 Lua 的特殊版本,带有修改的编译器或其他东西。但是你必须调查具体的项目才能知道发生了什么(因为你忘记说这是什么项目,我们无法帮助你)。
此外,string
和 table
是标准 Lua 库组件的名称,因此无论如何都不应该将它们用于局部变量名称。这可能是前缀 :
语法在 Lua.
的这个修改版本中旨在处理的内容
虽然这个问题已经有人回答了,但我可以解释一下它的意思。在 typed Lua(由 Roblox 使用)中,local identifier: type = value
表示名称为 identifier
且值为 value
的变量的类型为 type
,但这仅适用当变量为 local
时。示例:
local name: string = "John"
local emptyTable: table = {}
我正在关注一个用 Lua 编写的在线 github 项目,遇到了一个我似乎不理解的变量声明。
local pPlayerConfig :table = PlayerConfigurations[playerID];
local statusMessage :string= Locale.Lookup(pPlayerConfig:GetPlayerName());
在这些情况下,:string / :table 是做什么的?那些像预定义类型一样覆盖普通字符串类型吗?
就标准 Lua 而言,这是一个编译错误。这很有可能是 Lua 的特殊版本,带有修改的编译器或其他东西。但是你必须调查具体的项目才能知道发生了什么(因为你忘记说这是什么项目,我们无法帮助你)。
此外,string
和 table
是标准 Lua 库组件的名称,因此无论如何都不应该将它们用于局部变量名称。这可能是前缀 :
语法在 Lua.
虽然这个问题已经有人回答了,但我可以解释一下它的意思。在 typed Lua(由 Roblox 使用)中,local identifier: type = value
表示名称为 identifier
且值为 value
的变量的类型为 type
,但这仅适用当变量为 local
时。示例:
local name: string = "John"
local emptyTable: table = {}