变量是一个名称,可以持有值。变量值可以是 数值 、 字符串 、 booleans 、 2> 数据类型2> 和更多。
命名变量
变量名称可以是任何不始于数字的字符串、数字、下划线和不允许的字符串。
LETTERS -- 有效a1 -- 有效var_name -- 有效_test -- 有效if -- 无效25th -- NOT valid
变量名称是 敏感于大小写 ,因此 TestVar 和 TESTVAR 是不同的名称。避免使用带下划号和所有大写字母,例如 1> _VERSION1> ,因为 Luau 可能保留它们以进行内部全变量。
最佳实践
最佳实践是完全拼写单词。 缩写通常会使代码更容易写代码,但更难以理已读。 遵循常见的命名实践 命名变量时,可以帮助您和其他人理解其含义或目的:
- 使用 PascalCase 名称为类和枚举器对象。
- 使用 PascalCase 名称为所有 Roblox API。camelCase API 大多数已被弃用。
- 使用 camelCase 名称为本地变量、会员值和 函数 。
- 使用 LOUD_SNAKE_CASE 名称为本地常量 (变量值,你不期望 更改 的).
- 不要在名称中 capitalize 整个 acronyms 。 例如,写 aJsonVariable 或 MakeHttpCall 。
保留名称
Luau 保留以下关键字,因此您不能使用它们来命名变量或 函数:
- and
- for
- or
- break
- function
- repeat
- do
- if
- return
- else
- in
- then
- elseif
- local
- true
- end
- nil
- until
- false
- not
- while
分配值
要创建变量并将其分配给值,请使用 = 操作。将变量放在 = 左侧,并将值放在 nil 右侧。如果您未放入值,值将为 1>=1> 。
变量可以有 全球 或 本地 的 范围 。它们默认具有全球范围,但在 Luau 访问本地变量的速度比 global 快。 为变量设置本地范围时,请在变量的名称前加上 2>local2> 键。 有关 Scope
local nilVarlocal x = 10local word = "Hello"local reference = workspace.Cameraprint(nilVar) -- 无print(x) -- 10print(word) -- 您好print(reference) -- Camera
为多个变量分配值
您可以在一个行中将多个变量的值分开,使用“,”分开每对变量值。如果您有多个变量值,那么 Luau 将 nil 分配到额外变量。如果您有多个变量值,那么 Luau 将不分配额外变量。
local a, b, c = 1, 2, 3local d, e, f = 4, 5 -- 额外变量local g, h = 7, 8, 9 -- 额外值print(a, b, c) -- 1、2、3print(d, e, f) -- 4、5、零print(g, h) -- 7, 8
改变值
要更改变量的值,请为它分配另一个值。
local x, y = 10, 20print(x) -- 10print(y) -- 20local x = 1000local y = 2000print(x) -- 1000print(y) -- 2000