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,雖然是自由的,如果想提高可讀性的目的,那麼要加入一些空格。