互動式模式程式設計
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, Yiibai")
按Enter 鍵後,將獲得以下輸出 -
Hello, Yiibai
使用Lua檔案名引數呼叫直譯器開始執行檔案並繼續直到指令碼完成。 指令碼完成後,直譯器不再處於活動狀態。
下面來編寫一個簡單的Lua程式。 所有Lua檔案都有擴充套件名.lua
。 所以將以下原始碼放在test.lua檔案中。
print("Hello, Yiibai")
假設,lua環境安裝設定正確,使用以下命令執行程式 -
$ lua test.lua
執行以後將得到以下輸出 -
Hello, Yiibai
下面再嘗試另一種方式來執行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語句由三個標記組成 -
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是一種區分大小寫的程式設計語言。 因此,Yiibai
和yiibai
是Lua中的兩個不同的識別符號。 以下是可接受識別符號的一些範例 -
mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal
以下列表顯示了Lua中的一些保留字。 這些保留字不能用作常數或變數或任何其他識別符號名稱。
只包含空格(可能帶有注釋)的行稱為空行,Lua直譯器完全忽略它。
空白符是Lua用來描述空格,製表符,換行符和注釋的術語。 空格符將語句的一部分與另一部分分開,並使直譯器能夠識別語句中的一個元素(如int
結束)和下一個元素的開始位置。 因此,在以下宣告中 -
local age
在local
和age
之間必須至少有一個空格字元(通常是空格),以便直譯器能夠區分它們。 另一方面,在以下宣告中 -
fruit = apples + oranges --get the total fruit
在fruit
和=
之間,或=
和apples
之間不需要空白字元,但如果希望增加可讀性,可以自由新增一些空白字元。