Lua學習筆記(三) Lua語法簡述(二)
在昨天,我們介紹了 Lua 中的變量、和運算符,今天我們來介紹 函數、for wihle 這些常用的關鍵字等。
函數:
Lua 中的函數和 Javascript 中的有些相似,函數在書寫的時候,前面都需要加上 function 這個關鍵字, 上篇文章中提過 function 這個關鍵字,他在 Lua 中也是一種類型。下面我們來看看 Lua 中的一個簡單函數是怎麼寫的。
- function printHello(a,b) --a,b爲參數
- print(a,b);
- print("Hello")
- end
在上面的一段函數中,函數的開頭需要function 關鍵字來修飾它,表明它是一個“函數類型” ,當然既然成爲“類型” 我們在程序中也可以這樣寫:
- testFuction=function (a,b) return a+b end
- --testFuction就相當於這個函數的函數名了
所以說,Lua 的函數是很靈活的。
在C/C++中我們總是用"{ }" 來括起一個函數,但是Lua中有所不同,大家也注意到了上邊的代碼,最後跟隨着一個 "end" ,這個 end 就是來表明一個函數的結尾的。好了對於Lua中函數的初步認識就到這裏,更深入的我們要留在以後實踐中來體會。
關鍵字:
for
C/C++中我們使用for 一般都是 for(變量=初始值;循環條件;步進算法){循環體} , 在 Lua 中for 的使用方法有不小的區別,Lua中是 for 變量初始值 , 變量最大值 , 步進值 do 循環體 end。這樣寫可能不夠清晰,讓我們看下如下代碼:
- for(int a=0;a<5;a++){
- printf("%d",a); //C
- }
- for a=0,5,1 do --'a=0'代表初值和變量,5是a的最大值,1是步進值
- print(a) --Lua
- end
C中的花括號"{ }" 被替換成了 do end ,而且注意for後面的條件沒有括號"( )",所以在Lua中for的循環體是要寫在do end 中的。
While
Lua 中的While 和C中的無變化也只是把 花括號"{ }" ,替換成了do end 。
- a=0;
- while a~=5 do --條件爲a不等於5
- print(a);
- a=a+1;
- end
Repeat
相當於C中的do .. While 就是無論怎麼樣都是會執行一次的。
- a=0;
- repeat
- print(a)
- a=a+1;
- until a==5 --'a==5'爲終止條件
寫法同上述代碼,以repeat開始 until結束 until後面伴隨着終止的條件。
Lua中的關鍵字
and break do else elseif
end false for function if
in local nil not or
repeat return then true until while
好了,今天就到這裏,明天我們繼續學習Lua。