Lua是相當(dāng)簡(jiǎn)單易學(xué),讓我們開(kāi)始創(chuàng)建第一個(gè)Lua程序!
第一個(gè)Lua程序
交互模式編程:
Lua中提供了一個(gè)名為交互模式模式。在這種模式下,你可以鍵入一個(gè)接一個(gè)的指令,并得到立竿見(jiàn)影的效果。此所用的shell使用的是lua-i或只是lua的命令被調(diào)用。一旦在這種模式下,按Enter鍵和互動(dòng)模式將被啟動(dòng),如下圖所示。
$ lua -i
$ Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
quit to end; cd, dir and edit also available
可以使用下面的語(yǔ)句打印你想要的東西
按回車(chē),會(huì)得到如下的輸出。
復(fù)制代碼 代碼如下:
'test'
默認(rèn)模式編程:
調(diào)用解釋器使用lua文件名參數(shù)開(kāi)始執(zhí)行的文件,并一直持續(xù)到腳本完成。當(dāng)腳本完成時(shí),解釋器不再是活動(dòng)的。
讓我們寫(xiě)一個(gè)簡(jiǎn)單Lua程序。所有Lua文件將具有擴(kuò)展.lua。因此把下面的代碼在一個(gè)test.lua文件中。
復(fù)制代碼 代碼如下:
print("test")[code]
假設(shè),LUA環(huán)境設(shè)置正確,讓我們運(yùn)行程序,使用以下命令:
[code]
$ lua test.lua
我們將得到下面的輸出。
復(fù)制代碼 代碼如下:
test
讓我們嘗試另一種方式來(lái)執(zhí)行Lua程序。下面是修改后的test.lua文件:
復(fù)制代碼 代碼如下:
#!/usr/local/bin/lua
print("test")
在這里,假設(shè)已安裝有Lua解釋器在/usr/local/bin目錄中。第一行是由解釋器,如果用#號(hào)開(kāi)始忽略。現(xiàn)在,嘗試如下運(yùn)行這個(gè)程序:
復(fù)制代碼 代碼如下:
$ chmod a+rx test.lua
$./test.lua
將得到下面的輸出。
復(fù)制代碼 代碼如下:
test
現(xiàn)在讓我們來(lái)看看Lua程序中的基本結(jié)構(gòu),因此,這能容易理解Lua編程語(yǔ)言的基本構(gòu)建塊。
Lua令牌
一個(gè)Lua程序由不同的令牌組成,令牌可以是一個(gè)關(guān)鍵字,標(biāo)識(shí)符,常量,字符串文字或符號(hào)。例如,下面Lua語(yǔ)句包含三個(gè)令牌:
復(fù)制代碼 代碼如下:
io.write("Hello world, from ",_VERSION,"!\n")
各個(gè)令牌是:
復(fù)制代碼 代碼如下:
io.write
(
"Hello world, from ",_VERSION,"!\n"
)
注釋
注釋就像在Lua程序中幫助文本,它們被解釋忽略。他們開(kāi)始與- [[終止及字符- ],如下所示:
復(fù)制代碼 代碼如下:
--[[ my first program in Lua --]]
標(biāo)識(shí)符
一個(gè)Lua標(biāo)識(shí)符是用來(lái)標(biāo)識(shí)變量,函數(shù),或任何其它用戶(hù)定義的項(xiàng)目名稱(chēng)。一個(gè)標(biāo)識(shí)符開(kāi)始以字母A到Z或a到z或下劃線_后跟零個(gè)或多個(gè)字母,下劃線和數(shù)字(0?9)。
Lua中不允許標(biāo)識(shí)符中的標(biāo)點(diǎn)字符,如@,$,和%。 Lua是區(qū)分大小寫(xiě)的編程語(yǔ)言。因此,Manpower 和manpower 在Lua中為兩個(gè)不同的標(biāo)識(shí)符。這里是可接受的標(biāo)識(shí)符的一些例子:
復(fù)制代碼 代碼如下:
mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal
關(guān)鍵詞
下面列出了一些在Lua中的保留字。這些保留的字不可以被用作常量或變量,或任何其它標(biāo)識(shí)符。
nil, not, or, repeat, return, then, true, until, 和 while.
Lua中的空白符
僅包含空格,可能帶有注釋行,被稱(chēng)為一個(gè)空行,和Lua解釋完全忽略它。
空白是Lua中用來(lái)描述空格,制表符,換行符和注釋的術(shù)語(yǔ)??崭穹珠_(kāi)的另一個(gè)語(yǔ)句的一部分,使解釋來(lái)確定,其中在一份聲明中的一個(gè)元素,如int,結(jié)束和下一個(gè)元素開(kāi)始。因此,在下面的語(yǔ)句:
復(fù)制代碼 代碼如下:
local age
必須有至少一個(gè)空白字符(通常是一個(gè)空格)local和age之間的解釋器,以便能夠區(qū)分它們。另一方面,在下面的語(yǔ)句
復(fù)制代碼 代碼如下:
fruit = apples + oranges --get the total fruit
空格字符是必要的,如:fruit 和=之間,或=和apples,雖然是自由的,如果想提高可讀性的目的,那么要加入一些空格。
您可能感興趣的文章:- Lua檢測(cè)數(shù)組(tabble)中是否包含某個(gè)值
- Lua中遍歷文件操作代碼實(shí)例
- Linux下編寫(xiě)Lua擴(kuò)展so文件和調(diào)用方法實(shí)例