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