指令碼語言的基本語法
第一個 Lua 程式
互動式程式設計
Lua 提供了互動式程式設計模式。我們可以在命令列中輸入程式並立即檢視效果。
Lua 互動式程式設計模式可以通過命令 lua -i 或 lua 來啟用:
$ lua -i $ Lua 5.3.0 Copyright (C) 1994-2015 Lua.org, PUC-Rio >
在命令列中,輸入以下命令:
> print("Hello World!")
接著我們按下回車鍵,輸出結果如下:
> print("Hello World!") Hello World! >
指令碼式程式設計
我們可以將 Lua 程式程式碼保持到一個以 lua 結尾的檔案,並執行,該模式稱為指令碼式程式設計,如我們將如下程式碼儲存在名為 hello.lua 的指令碼檔案中:
print("Hello World!") print("www.runoob.com")
使用 lua 名執行以上指令碼,輸出結果為:
$ lua hello.lua Hello World! www.runoob.com
我們也可以將程式碼修改為如下形式來執行指令碼(在開頭新增:#!/usr/local/bin/lua):
#!/usr/local/bin/lua print("Hello World!") print("www.runoob.com")
以上程式碼中,我們指定了 Lua 的直譯器 /usr/local/bin directory。加上 # 號標記直譯器會忽略它。接下來我們為指令碼新增可執行許可權,並執行:
./hello.lua Hello World! www.runoob.com
註釋
單行註釋
兩個減號是單行註釋:
--
多行註釋
--[[ 多行註釋 多行註釋 --]]
標示符
Lua 標示符用於定義一個變數,函式獲取其他使用者定義的項。標示符以一個字母 A 到 Z 或 a 到 z 或下劃線 _ 開頭後加上0個或多個字母,下劃線,數字(0到9)。
最好不要使用下劃線加大寫字母的標示符,因為Lua的保留字也是這樣的。
Lua 不允許使用特殊字元如 @, $, 和 % 來定義標示符。 Lua 是一個區分大小寫的程式語言。因此在 Lua 中 Runoob 與 runoob 是兩個不同的標示符。以下列出了一些正確的標示符:
mohd zara abc move_name a_123 myname50 _temp j a23b9 retVal
關鍵詞
以下列出了 Lua 的保留關鍵字。保留關鍵字不能作為常量或變數或其他使用者自定義標示符:
and | break | do | else |
elseif | end | false | for |
function | if | in | local |
nil | not | or | repeat |
return | then | true | until |
while |
一般約定,以下劃線開頭連線一串大寫字母的名字(比如 _VERSION)被保留用於 Lua 內部全域性變數。
全域性變數
在預設情況下,變數總是認為是全域性的。
全域性變數不需要宣告,給一個變數賦值後即建立了這個全域性變數,訪問一個沒有初始化的全域性變數也不會出錯,只不過得到的結果是:nil。
> print(b) nil > b=10 > print(b) 10 >
如果你想刪除一個全域性變數,只需要將變數賦值為nil。
b = nil print(b) --> nil
這樣變數b就好像從沒被使用過一樣。換句話說, 當且僅當一個變數不等於nil時,這個變數即存在。