變數(Variable)是一個可以儲存數值及不同數據類型的東西。它可以被存取、改變數值及進行運算。
註:此定義較為直覺,並非真正的定義。
變數有分 Local(某部分可以用) 及 Global(全遊戲可以用)
數據類型 (Data Type)
類型 | 例子 |
---|---|
Number 數字 | 9 |
String 字串 |
"ABC" |
Location 地方 | game.workspace |
Array | {"Add","ison"} |
Boolean Variable 是否 | true |
Data Type 設定後並不能更改
由於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 |
參考資料
學習更多
社区内容除另有注明外,均在CC-BY-SA许可协议下提供。