變數名稱
Lua的變數名稱可以是底線(_)或是任意字母([a-zA-Z])開頭,不能是數字或其他字元。之後的組成可以包含數字([0-9])、字母([a-zA-Z])或底線,並且是大小寫敏感,abc、Abc、ABC可以作為三個不同的變數。
Lua作為嵌入型語言,使用最基本的ascii code。儘管其本帶有utf8函式庫,也可能有部份實現允許其他字元作為變數名稱,但不建議這樣做,並且在使用到非ascii字元時,最好以\u{1F603}這樣方式來寫。像是:
print("\u{1F603}")
print('😃')
上面兩著等價,或是下面兩者亦相同。
print("\u{4f60}\u{597d}\u{ff0c}\u{4e16}\u{754c}\u{ff01}")
print("你好,世界!")
當然其實Lua是了解utf-8的,本系列也不會以上述方式撰寫,所以請確定儲存的程式檔案是以utf-8儲存,否則執行結果可能不如預期。
此外,Lua的底線開頭的變數,和Python一樣有時也代表一些意義,這會在說道metatable和物件導向程式設計時說明。
變數可見範圍
與多數程式語言一樣,分有全局變數和局部變數。不同的是,預設變數可見範圍是全局的(類似JS的var變數)。
g1 = 1
function f()
print(g1)
g2 = 2
end
f()
print(g2)