變數

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

一個 變數 是一個持有值的名稱。變數的值可以是 數字字串布林值資料類型 等等。

命名變數

變數名稱可以是任何非保留的字母、數字和底線的字符串,且不能以數字開頭。

LETTERS -- 有效
a1 -- 有效
var_name -- 有效
_test -- 有效
if -- 無效
25th -- 無效

變數名稱是 區分大小寫 的,因此 TestVarTESTVAR 是不同的名稱。避免使用底線和全大寫字母命名變數,例如 _VERSION,因為 Luau 可能會將其保留為內部全局變數。

最佳實踐

最佳實踐是完整拼寫單詞。縮寫通常使代碼更容易編寫,但更難閱讀。遵循常見的命名慣例可以幫助你和其他人理解變數的含義或目的:

  • 對於類和類似枚舉的對象,使用 PascalCase 命名。
  • 對於所有 Roblox API,使用 PascalCase 命名。camelCase API 大多已被棄用。
  • 對於局部變數、成員值和 函數,使用 camelCase 命名。
  • 對於常量,例如 const 值或其他你不期望會 改變 的值,使用 LOUD_SNAKE_CASE 命名。
  • 不要在名稱中全大寫縮寫。例如,寫 aJsonVariableMakeHttpCall

保留名稱

Luau 保留以下關鍵字,因此你不能用它們來命名變數或 函數

  • and
  • for
  • or
  • break
  • function
  • repeat
  • do
  • if
  • return
  • else
  • in
  • then
  • elseif
  • local
  • true
  • end
  • nil
  • until
  • false
  • not
  • while

指派值

要創建一個變數並為其指派一個值,使用 = 運算符。將變數放在 = 的左側,將值放在右側。如果不放值,則值為 nil

變數可以具有 全局局部 範圍。默認情況下,它們具有全局範圍,但幾乎總是最好使用局部範圍,因為 Luau 訪問局部變數的速度比全局變數快。要給變數局部範圍,請在指派值時將關鍵字 local 放在變數名稱之前。要給它局部範圍並防止重新指派,請使用 const 而不是 local。有關更多信息,請參見 範圍

local nilVar
local x = 10
local word = "Hello"
local boolean = true
print(nilVar) -- nil
print(x) -- 10
print(word) -- Hello
print(boolean) -- true

將值指派給多個變數

你可以通過用逗號分隔每個變數-值對,在一行中將值指派給多個變數。如果變數比值多,則 Luau 將額外的變數指派為 nil。如果值比變數多,Luau 不會將額外的值指派給任何變數。

local a, b, c = 1, 2, 3
local d, e, f = 4, 5 -- 額外變數
local g, h = 7, 8, 9 -- 額外值
print(a, b, c) -- 1, 2, 3
print(d, e, f) -- 4, 5, nil
print(g, h) -- 7, 8

改變值

要改變變數的值,將另一個值指派給它。

local x, y = 10, 20
print(x) -- 10
print(y) -- 20
x = 1000
y = 2000
print(x) -- 1000
print(y) -- 2000

常量變數

要創建一個不能重新指派的變數,使用 const 而不是 local。嘗試重新指派 const 變數會導致錯誤,包括通過 複合指派運算符 例如 +=

const MAX_HEALTH = 100
MAX_HEALTH = 50 -- 錯誤:無法重新指派常量變數
MAX_HEALTH += 1 -- 錯誤:無法重新指派常量變數

local 一樣,const 接受 類型註解,例如 const MAX_HEALTH: number = 100

你也可以用 const 聲明一個函數,這樣可以防止重新指派函數的名稱。

const function addOneAndTwo()
local result = 1 + 2
print(result)
end
addOneAndTwo = nil -- 錯誤:無法重新指派常量變數

const 使變數本身不可變,而不是它所持有的值。如果一個 const 變數持有一個 ,你仍然可以改變表的內容。要使內容也不可變,請使用 table.freeze()

const SETTINGS = { volume = 0 }
SETTINGS.volume = 1 -- 可以,改變表內的值
SETTINGS = {} -- 錯誤:無法重新指派常量變數

保留名稱 中的關鍵字不同,const 是上下文相關的。Luau 只在 local 有效的地方將其視為關鍵字,因此使用 const 作為變數名稱的現有代碼仍然有效。

local const = 1
print(const) -- 1
const = 2 -- 可以,這裡 `const` 是變數名稱

有關更多信息和邊緣情況,請參見 Luau 文檔

©2026 Roblox Corporation、Roblox、Roblox 標誌及 Powering Imagination 是我們在美國及其他國家地區的部分註冊與未註冊商標。