Lua基本語法

Lua是相當簡單易學,讓我們開始創建第一個Lua程序!

第一個Lua程序

交互模式編程:

Lua中提供了一個名爲交互模式模式。在這種模式下,你可以鍵入一個接一個的指令,並得到立竿見影的效果。此所用的shell使用的是lua-i或只是lua的命令被調用。一旦在這種模式下,按Enter鍵和互動模式將被啓動,如下圖所示。

$ lua -i
$ Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
quit to end; cd, dir and edit also available

可以使用下面的語句打印你想要的東西

> print("test")

按回車,會得到如下的輸出。

'test'

默認模式編程:

調用解釋器使用lua文件名參數開始執行的文件,並一直持續到腳本完成。當腳本完成時,解釋器不再是活動的。

讓我們寫一個簡單Lua程序。所有Lua文件將具有擴展.lua。因此把下面的代碼在一個test.lua文件中。

print("test")

假設,LUA環境設置正確,讓我們運行程序,使用以下命令:

$ lua test.lua

我們將得到下面的輸出。

test

讓我們嘗試另一種方式來執行Lua程序。下面是修改後的test.lua文件:

#!/usr/local/bin/lua

print("test")

在這裏,假設已安裝有Lua解釋器在/usr/local/bin目錄中。第一行是由解釋器,如果用#號開始忽略。現在,嘗試如下運行這個程序:

$ chmod a+rx test.lua
$./test.lua

將得到下面的輸出。

test

現在讓我們來看看Lua程序中的基本結構,因此,這能容易理解Lua編程語言的基本構建塊。

Lua令牌

一個Lua程序由不同的令牌組成,令牌可以是一個關鍵字,標識符,常量,字符串文字或符號。例如,下面Lua語句包含三個令牌:

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

各個令牌是:

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

註釋

註釋就像在Lua程序中幫助文本,它們被解釋忽略。他們開始與- [[終止及字符- ],如下圖所示:

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

標識符

一個Lua標識符是用來標識變量,函數,或任何其它用戶定義的項目名稱。一個標識符開始以字母A到Z或a到z或下劃線_後跟零個或多個字母,下劃線和數字(0〜9)。

Lua中不允許標識符中的標點字符,如@,$,和%。 Lua是區分大小寫的編程語言。因此,Manpower 和manpower 在Lua中爲兩個不同的標識符。這裏是可接受的標識符的一些例子:

mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal

關鍵詞

下面列出了一些在Lua中的保留字。這些保留的字不可以被用作常量或變量,或任何其它標識符。

nil, not, or, repeat, return, then, true, until, 和 while.

and

break

do

else

elseif

end

false

for

function

if

in

local

nil

not

or

repeat

return

then

true

until

while

Lua中的空白符

僅包含空格,可能帶有註釋行,被稱爲一個空行,和Lua解釋完全忽略它。

空白是Lua中用來描述空格,製表符,換行符和註釋的術語。空格分開的另一個語句的一部分,使解釋來確定,其中在一份聲明中的一個元素,如int,結束和下一個元素開始。因此,在下面的語句:

local age

必須有至少一個空白字符(通常是一個空格)local和age之間的解釋器,以便能夠區分它們。另一方面,在下面的語句

fruit = apples + oranges --get the total fruit

空格字符是必要的,如:fruit 和=之間,或=和apples,雖然是自由的,如果想提高可讀性的目的,那麼要加入一些空格。