文章出處

接下來把我所看的《Lua程序設計》中介紹lua的內容,時時的記錄下來。當做一個讀書筆記吧。

先說一下怎樣直接運行lua文件吧,windows cmd進入相應的文件夾,然后輸入lua,出現版本信息,然后dofile("a.lua"),可以運行自己創建的lua腳本。退出lua交互控制,可用os.exit()。交互模式可以通過do。。end實現代碼塊。

1.lua的全局變量,直接為變量賦值即可,如果沒有賦值,一個變量將被認定為nil。如果想刪除一個全局變量,可以直接為變量賦值,如b=nil

 


 

2.lua中的保留字,不能當做標識符。

and  break do else elseif end false for function if in local nil not or repeat return then true until while

lua大小寫敏感,單行注釋用--,多行注釋用--[[      --]]

 


 

3.lua的8個基本類型

nil  boolean  number  string  userdata  function  thread   table

lua可以直接測定給定變量或者值的類型。

 

nil:只有一個值,nil,全局變量沒有被賦值之前默認為nil。為全局變量賦值nil,可以刪除該變量。

boolean:lua中所有的值都可以作為條件,除了false和nil為假,其他都為真。lua中認為0和空串是真的。

number:實數,lua中沒有整數,可處理任何長整數,如 2  0.2  2e-3  0.2e11  2e+20

string:lua8位字節,可以用單引號或者雙引號,可以處理長字符串,1M的string也是可以處理的,很高效。lua中可以通過轉義字符,對字符串進行處理。lua還可以自由的進行string、number之間的轉換,如可用print("10"+1),得到結果11。

  

  

  lua中的字符串連接符是 .. ,數字之后寫點點,必須加上空格。防止被解釋錯。

  

function:函數可以存儲在變量中,可以作為函數的參數,可以作為返回值。一個程序可以重新定義函數增加新的功能,或者避免不行的代碼隱藏函數。lua可以調用c或者lua實現的函數,所有標準均是c實現的。

 


 

4.支持算數運算符,二元:+-*/^,一元:-。

關系運算符:> < <= >= == ~=。不能混合比較。

邏輯運算符:nil和false為假,and、or、not,and的優先級比or高。c中的三元符a?b:c,lua中用(a and b)or c

 


 

5.優先級從高到低。運算符優先級排序。

 


 

6.表的構造。構造器是創建和初始化表的表達式。表的以第一個元素的索引為1.(并不是其他語言的0)。表中的元素可以任意的添加和刪除。在構造函數的最后","是可選的,方便以后的拓展,分割符號可以用分號代替,區分不同類型的元素。

 


 

7.lua可以對多個變量同時賦值,可以實現swap,也可以通過多變量賦值得到函數的返回值。如:a,b=b,a   a[i],a[j]=a[j],a[i]    a,b=f()

 


 

8.代碼塊的概念:一個控制結構,函數體,或者一個chunk,都可以是一個代碼塊。

使用local可以創建一個局部變量,與全局變量不同,局部變量只在聲明的代碼塊中有效。

程序中盡可能的使用局部變量,避免命名沖突,訪問局部變量的速度比較快。

 


 

9.控制語句:if的格式有三種,

  if 條件 then 語句塊 end;

  if 條件 then 語句塊 else 語句塊 end;

  if 條件 then  語句塊 elseif 條件 then 語句塊  else 語句塊 end。

while語句:while 條件  do  語句塊  end

repeat-until語句:repeat 語句塊 until 條件

for語句:@1.數值for循環,for i=10,1,-1 do

            print(i)

           end

      第一個值為初始值,第二個值為結束值,第三個為step值(可以省略,默認為1)。

     

      

    @2.泛型for循環,遍歷表有兩種方式,一種是  in pairs(表名),一種是in ipairs(表明)。

    

    

break和return語句放在流程控制中。

 


 

10.函數 function+函數名(參數)end

當函數只有一個參數,并且這個參數是字符串或者表構造時,()可有可無。

lua函數可以有多個返回值,該返回時直接 return m,n,j

lua中調用可變參數的可變函數,可以用unpack函數,使用方法如f(unpack(a)),a為一個表

 

未完,待續。。


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()