FANDOM


變數(Variable)是一個可以儲存數值及不同數據類型的東西。它可以被存取、改變數值及進行運算。
註:此定義較為直覺,並非真正的定義。


變數有分 local(某部分可以用) 及 global(全遊戲可以用)

數據類型 (Data Type)

類型 例子
Number 數字 9
String 字串

"ABC"

Location 地方 game.workspace
Array {"Add","ison"}
Boolean Variable 是否 true


Data Type set 後並不能更改

由於Roblox所用的語言(Lua)為動態語言,有別於靜態言語(如C++),在設定了Data Type後可以更改。但是,有可能會因為Data Type不同而產生錯誤,因此建議設定了Data Type後避免再更改。

名字

限制

  • 只能包含字母(a-z,A-Z)、數字(0-9)及下劃線(_)
  • 不能名為程式語言的關鍵字, 例如 if else 等等
  • 不能有空格/點
  • 第一個字元不能是數字
local a = 5 -- 可以
local x689 = "ABC" --可以
local abc_cba = workspace --可以
 
local if = 97 --不可以 因為"if" 是關鍵字
local 777_689 = "LOL" --不可以 因為是數字在前面


以下為Roblox用到的關鍵字,起變數名字時絕對不能使用。[1]

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


區分大小寫

像大部分程式語言一樣,大楷和細楷字母會被視為不同的東西。換句話說,如果兩個變數的名稱除了大小寫不同外完全相同,它們都會被視為兩個不同的變數。

local a = 1
local A = 2
-- 兩個變數的名稱均為A,但大小寫不同
 
print(a)
print(A)
-- a和A為兩個不同的變數
Output:
1
2


多個單字的名字

有時候,我們想要個由多個單字組成的變數名,但是變數名不允許空格的存在,例如"bus length" 或 "forward velocity"。對於這個情況,一般會用到兩種命名方式——駝峰式大小寫(Camel case)及下劃線(Snake case)。
註:Roblox一般使用駝峰式大小寫(Camel case)。

用法 例子

駝峰式大小寫 (Camel case)

每一個單字的第一個字母用大楷字母其餘字元為細楷。
velocity cross product
寫成
VelocityCrossProduct

下劃線 (Snake case)

全部使用細楷,以下劃線(_)取代空格。
velocity cross product
寫成
velocity_cross_product


例子

Example 1

local a = 5 -- 建立變數
print(a) --Print "5"

Example 2

  • 第一個script
a = 5
  • 第二個script
wait(2) --等第一個script load 好
a = a + 7 -- a加7
print(a) -- Print "12"(5+7=12)

Example 3

local a = 5
if a == 5 then
  local b = 5 
  print(a)
end
print(b)
Output: 5

Syntax Error: Line 6

Variable b cannot be found

參考資料

  1. https://www.lua.org/manual/5.1/manual.html#2.1

學習更多

Roblox Studio Scripting 教學

Roblox 更新/教學 Facebook