互動式模式編程
Lua提供了一種叫作交互模式的模式。 在此模式下,可以依次輸入命令代碼並獲得即時結果。 這可以通過使用lua -i
或lua
命令在shell中調用。 輸入此內容後,按Enter 鍵,將啟動交互模式,如下所示 -
$ lua -i
$ Lua 5.3.5 Copyright (C) 1994-2018 Lua.org, PUC-Rio
quit to end; cd, dir and edit also available
可以使用以下聲明列印某些內容 -
print("Hello, zaixian")
按Enter 鍵後,將獲得以下輸出 -
Hello, zaixian
默認模式編程
使用Lua檔案名參數調用解釋器開始執行檔並繼續直到腳本完成。 腳本完成後,解釋器不再處於活動狀態。
下麵來編寫一個簡單的Lua程式。 所有Lua檔都有擴展名.lua
。 所以將以下源代碼放在test.lua檔中。
print("Hello, zaixian")
假設,lua環境安裝設置正確,使用以下命令運行程式 -
$ lua test.lua
執行以後將得到以下輸出 -
Hello, zaixian
下麵再嘗試另一種方式來執行Lua程式,以下是修改後的test.lua 檔 -
#!/usr/local/bin/lua
print("Hello, Welcome")
在這裏,假設/usr/local/bin
目錄中提供了Lua解釋器。 如果解釋器以#
符號開頭,則第一行將被解釋器忽略。現在,嘗試運行此程式如下 -
$ chmod a+rx test.lua
$./test.lua
將會得到以下輸出結果 -
Hello, Welcome
下麵來看一下Lua程式的基本結構,這樣可以很容易地理解Lua編程語言的基本構建塊。
Lua令牌標記
Lua程式由各種標記組成,標記可以是關鍵字,識別字,常量,字串文字或符號。 例如,以下Lua語句由三個標記組成 -
io.write("Hello world, from ",_VERSION,"!\n")
獨立標記是 -
io.write
(
"Hello world, from ",_VERSION,"!\n"
)
注釋
注釋就類似Lua程式中的幫助文本一樣,解釋器會忽略它們。 它們以--[[
開始,並以字元 --]]
結尾,如下所示 -
--[[ my first program in Lua --]]
識別字
Lua識別字是用於標識變數,函數或任何其他用戶定義項的名稱。 識別字以字母A
到Z
或a
到z
或下劃線_
開頭,後跟零個或多個字母,下劃線和數字(0
到9
)。
Lua不允許識別字中的標點符號,如@
,$
和%
。 Lua是一種區分大小寫的編程語言。 因此,zaixian
和zaixian
是Lua中的兩個不同的識別字。 以下是可接受識別字的一些示例 -
mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal
關鍵字
以下列表顯示了Lua中的一些保留字。 這些保留字不能用作常量或變數或任何其他識別字名稱。
Lua空白符
只包含空格(可能帶有注釋)的行稱為空行,Lua解釋器完全忽略它。
空白符是Lua用來描述空格,跳位字元,換行符和注釋的術語。 空白字元將語句的一部分與另一部分分開,並使解釋器能夠識別語句中的一個元素(如int
結束)和下一個元素的開始位置。 因此,在以下聲明中 -
local age
在local
和age
之間必須至少有一個空格字元(通常是空格),以便解釋器能夠區分它們。 另一方面,在以下聲明中 -
fruit = apples + oranges --get the total fruit
在fruit
和=
之間,或=
和apples
之間不需要空白字元,但如果希望增加可讀性,可以自由添加一些空白字元。