Lua基礎語法


互動式模式程式設計
Lua提供了一種叫作互動模式的模式。 在此模式下,可以依次輸入命令程式碼並獲得即時結果。 這可以通過使用lua -ilua命令在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程式由各種標記組成,標記可以是關鍵字,識別符號,常數,字串文字或符號。 例如,以下Lua語句由三個標記組成 -

io.write("Hello world, from ",_VERSION,"!\n")

獨立標記是 -

io.write
(
   "Hello world, from ",_VERSION,"!\n"
)

注釋

注釋就類似Lua程式中的幫助文字一樣,直譯器會忽略它們。 它們以--[[開始,並以字元 --]]結尾,如下所示 -

--[[ my first program in Lua --]]

識別符號

Lua識別符號是用於標識變數,函式或任何其他使用者定義項的名稱。 識別符號以字母AZaz或下劃線_開頭,後跟零個或多個字母,下劃線和數位(09)。

Lua不允許識別符號中的標點符號,如@$%。 Lua是一種區分大小寫的程式設計語言。 因此,Yiibaiyiibai是Lua中的兩個不同的識別符號。 以下是可接受識別符號的一些範例 -

mohd         zara      abc     move_name    a_123
myname50     _temp     j       a23b9        retVal

關鍵字

以下列表顯示了Lua中的一些保留字。 這些保留字不能用作常數或變數或任何其他識別符號名稱。

Lua空白符

只包含空格(可能帶有注釋)的行稱為空行,Lua直譯器完全忽略它。

空白符是Lua用來描述空格,製表符,換行符和注釋的術語。 空格符將語句的一部分與另一部分分開,並使直譯器能夠識別語句中的一個元素(如int結束)和下一個元素的開始位置。 因此,在以下宣告中 -

local age

localage之間必須至少有一個空格字元(通常是空格),以便直譯器能夠區分它們。 另一方面,在以下宣告中 -

fruit = apples + oranges   --get the total fruit

fruit=之間,或=apples之間不需要空白字元,但如果希望增加可讀性,可以自由新增一些空白字元。