Lua初學

最近在看LUA語言的一些相關知識。覺得LUA語言要掌握起來還是比較容易上手的,主要就是要記得:LUA寫程序就像你寫文章一樣,你想表達出來的東西完全不需要藉助其它的思維轉換(這麼說有點過分,總之就是很簡便,嘿嘿 )。

在LUA裏面,並沒有像C語言的花括號來標示在一個域內,而僅僅是使用“end"關鍵字來標示一個域的結束。例如想寫一個函數,我只需要這樣 function fun(x)  return 'hello world' end 。fun函數則會返回hello world字符串,我覺得這樣確實非常方便編寫。因爲我每當想寫個什麼模塊的時候,我只需要在一開始 加個標示符function,然後在寫好之後 ,輕輕加上一個end來表明模塊已經結束(其實很多語言都這樣)。

在LUA裏面,並不像C語言所謂的 0 爲假 ,非0則爲真。  LUA語言只會把BOOLEAN型的false與nil 當成是假。對於數值0來說,它還是爲真。而對於一個變量來說,想摧毀它的辦法就是讓它爲 nil,假如我定義了一個全局的變量 i ,當我不想用它的時候,那麼我只需要將它賦值爲nil即可,它就不存在我們的變量裏面了。 local關鍵字的作用是爲了標識一個局部變量,也就相當於我們在{}裏面定義的變量一樣,出了那個區域範圍那它就無效了。

關於 " .. "運算符。這個運算符可以將兩個字符串給連接起來,同時也可以將一個數字類型跟一個字符類型進行連接 ,還可以將數字與數字連接成字符,使用數字連接的時候要空一格使用 “  print( 2 .. 4) " 結果爲:24。

還有當然少不了的邏輯運算符了。LUA的邏輯運算符基本與C差不多,不同的只是不等於號的寫法變成了”~=“ ,這還是相對比較好刻的。還有比較的時候,當引用類型比較的時候,僅僅是內容完全一樣的話是不相等的,要引用的東西是同一份,那才能說是相等地,其實也就是同一份數據了,這跟指針的比較差不多。其實就是一個地址的比較。當使用table的時候就要注意了。

LUA的 and 、or  、 not 。 當and比較的時候,第一個爲假,則返回第一個,否則返回第二個,這個還是比較好理解的。or的時候,第一個爲假,則返回第二個。not的時候,則總是返回true或false 。書上說 k = a ? b : c 可以用 k = (a and b )or c 來表示,其實可以是可以,但是要排除一種情況,就是當b 爲false或nil的時候,這個表達式就不成立了。

Lua比較強大的還有它的table了。這是一個非常牛的東東來的。當我們初始化一個table的時候,我們只需要 a = {} 這樣即可,然後我們想對錶格加一些數據結構還是其它。我們只需要自己過後寫上去即可,比如我們寫上 a.x = 1,那麼這樣一來a就有了x的項了。當然table 還可以用來做很多的事情,如果我們願意,可以把所有的數據結構都用這個表達出來,,,呵呵 ,,雖然有些難度。

OK。。複習完了。。。明天繼續努力。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章