Lua是相當簡單易學,讓我們開始創(chuàng)建第一個Lua程序!
Lua中提供了一個名為交互模式模式。在這種模式下,你可以鍵入一個接一個的指令,并得到立竿見影的效果。此所用的shell使用的是lua-i或只是lua的命令被調(diào)用。一旦在這種模式下,按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'
調(diào)用解釋器使用lua文件名參數(shù)開始執(zhí)行的文件,并一直持續(xù)到腳本完成。當腳本完成時,解釋器不再是活動的。
讓我們寫一個簡單Lua程序。所有Lua文件將具有擴展.lua。因此把下面的代碼在一個test.lua文件中。
print("test")
假設,LUA環(huán)境設置正確,讓我們運行程序,使用以下命令:
$ lua test.lua
我們將得到下面的輸出。
test
讓我們嘗試另一種方式來執(zhí)行Lua程序。下面是修改后的test.lua文件:
#!/usr/local/bin/lua print("test")
在這里,假設已安裝有Lua解釋器在/usr/local/bin目錄中。第一行是由解釋器,如果用#號開始忽略。現(xiàn)在,嘗試如下運行這個程序:
$ chmod a+rx test.lua $./test.lua
將得到下面的輸出。
test
現(xiàn)在讓我們來看看Lua程序中的基本結(jié)構(gòu),因此,這能容易理解Lua編程語言的基本構(gòu)建塊。
一個Lua程序由不同的令牌組成,令牌可以是一個關(guān)鍵字,標識符,常量,字符串文字或符號。例如,下面Lua語句包含三個令牌:
io.write("Hello world, from ",_VERSION,"! ")
各個令牌是:
io.write ( "Hello world, from ",_VERSION,"! " )
注釋就像在Lua程序中幫助文本,它們被解釋忽略。他們開始與- [[終止及字符- ],如下圖所示:
--[[ my first program in Lua --]]
一個Lua標識符是用來標識變量,函數(shù),或任何其它用戶定義的項目名稱。一個標識符開始以字母A到Z或a到z或下劃線_后跟零個或多個字母,下劃線和數(shù)字(0?9)。
Lua中不允許標識符中的標點字符,如@,$,和%。 Lua是區(qū)分大小寫的編程語言。因此,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中用來描述空格,制表符,換行符和注釋的術(shù)語。空格分開的另一個語句的一部分,使解釋來確定,其中在一份聲明中的一個元素,如int,結(jié)束和下一個元素開始。因此,在下面的語句:
local age
必須有至少一個空白字符(通常是一個空格)local和age之間的解釋器,以便能夠區(qū)分它們。另一方面,在下面的語句
fruit = apples + oranges --get the total fruit
空格字符是必要的,如:fruit 和=之間,或=和apples,雖然是自由的,如果想提高可讀性的目的,那么要加入一些空格。