• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 9,comments - 14,trackbacks - 0

            Programmming in Lua學習筆記

            author:陣雨 2005年11月17日2:34:46

            第0章 序言


            Lua所提供的機制是C不善于的:高級語言、動態(tài)結構、簡潔,易于測試和調試。
            正因為如此,Lua具有良好的安全保證,自動內(nèi)存管理,簡便的字符串處理功能
            以及其他動態(tài)數(shù)據(jù)的改變。
            Lua具有可擴展、簡單、高效、跨平臺的特點。

            第 1 章  起點


            一個Chunk可以是一個語句,也可以是一系列語句的組合,還可以是函數(shù),Chunk可以很大,在Lua中幾個Mbyte的Chunk
            是很常見的。

            全局變量不需要聲明,給一個變量賦值后即創(chuàng)建了這個全局變量,訪問一個沒有初始值的全局
            變量也不會出錯,只不過的得到的結果是:nil。
            如果想刪除一個全局變量,只需要將變量賦值為 nil.


            第 2 章 類型和值


            每個語句結尾的分號 ';' 是可選的,但是如果同一行有多個語句最好用' ; '來將其隔開

            Lua是動態(tài)類型語言,變量不要類型定義。lua中有8種基本類型分別為:

            nil ,boolean ,number, string,userdata,function,thread,table

            變量沒有預定義的類型,每一個變量都可能包含任一種類型的值,例如:

            print(type(a))  -->nil ('a' is not initialized)
            a
            =10

            print(type(a))  -->number
            a
            ="a string"

            print(type(a))  -->string
            a
            =print  -->yes ,this is
             valid!
            a(type(a)) 
            -->function

            我們可以使用function像使用其它值一樣使用

            Nil 
            Lua中特殊的類型,它只有一個值:nil,一個全局變量沒有被賦值以前默認值為nil

            Booleans 兩個取值 false 和 true ,但要注意Lua中 “所有的值”都可以用作為條件,在控制結構的
            條件中除了false 和 nil 為假,其它值都為真,所以Lua認為0和空串都是真.

            Lua的字符串可以包含任何數(shù)值的字符,包括嵌入的0,這意味著你可以存儲任意的二進制數(shù)據(jù)在一個字符串里面。
            字符串是不可以修改的,你可以創(chuàng)建一個新的變量來存儲你要的字符串
            Lua可以高效率的處理長字符串,1M大小的string在Lua中是常見的。
            可以用單引號或者雙引號來表示字符串 a="a lien" ,b='another line'
            轉義字符與C語言相同。
            可以在字符串中使用\ddd (ddd為三位十進制數(shù)字) 方式來表示字母
            還可以使用[[ ...]]來表示字符串,這種形式的字符串可以包含多行,也可以嵌套,
            而且不會解釋轉移字符,如果第一個字符是換行符會被自動忽略掉,這種形式的字符串
            用來包含一段代碼是非常方便的
            運行時,Lua會自動在stringnumbers之間自動進行類型轉換,當一個字符串使用算術
            操作符時,string會被轉換成數(shù)字
            盡管字符串和數(shù)字可以自動轉換,但是兩者是不同的,比如
            10 ~= "10".

            Lua通過引用比較tables userdata functions ,也就是說當且僅當兩者表示同一個對象時
            他們才相同,nil只和nil相等。如果兩個值類型不同,Lua則認為他們不同


            第 3 章 表達式


            and 和 or 的運算結果不是true或者false,而是和它的兩個操作數(shù)相關.
            a and b  a or b  按照C語言的邏輯運算順序計算,a、b兩個表達式,計算到哪一個就返回哪一個的值
            例如:a && b 如果 a為false,那么無須計算b 即可知表達式為false
            所以 a and b的結果是如果a為false,則返回a,否則返回b

            一個很實用的技巧,x = x or v
            C語言中的 a ? b:c 等價于Lua中的 (a and b) or c

            運算符的優(yōu)先級(可惜沒有位運算):

             ^
             
            not -(unary)
             
            * /

             
            + -
             ..
             
            < > <= >= ~= ==
             
            and
             
            or

            除了^和 .. 之外所有的二元運算符都是左連接的。

            Lua中的表可以用字符串和數(shù)字作為index,如tt={name="table",["size"]=2,[3]="number"}
            如果不使用數(shù)字表達式,Lua則自動從數(shù)字 1 開始作為index,如tt={"table",2} 那么tt[1]=="table,tt[2]==2
            在構造函數(shù)中,域分隔符逗號(,)是可以用分號(;)替代的,通常我們用分號來分割不同類型的表元素。如:
            tt={x=10,y=45 ; "one","two","three"}
            The syntax var.NAME is just syntactic sugar for var["NAME"]:

            posted on 2005-11-17 02:30 陣雨 閱讀(2111) 評論(3)  編輯 收藏 引用 所屬分類: Lua Programming

            FeedBack:
            # re: Programmming in Lua學習筆記(邊學邊更新ing。。。)
            2006-08-30 20:40 | 看呢看呢
            看呢看呢看呢  回復  更多評論
              
            # re: Programmming in Lua學習筆記(邊學邊更新ing。。。)
            2007-07-06 21:19 | nesh
            博主在學LUA么?感覺這個語言怎么樣啊。我也有意向學習呢。推薦本比較好的教材好么?  回復  更多評論
              
            # re: Programmming in Lua學習筆記(邊學邊更新ing。。。)
            2009-01-13 20:43 | luaer
            lua社區(qū)
            http://www.luabbs.com
            lua開發(fā)者討論區(qū)  回復  更多評論
              
            热RE99久久精品国产66热| 色妞色综合久久夜夜| 青青青国产精品国产精品久久久久| 无码人妻久久一区二区三区免费丨| 久久青青色综合| 2021久久精品国产99国产精品| segui久久国产精品| 精品久久久久久无码不卡| 色欲av伊人久久大香线蕉影院 | 香蕉久久夜色精品国产2020| 久久久久国产精品人妻| 国产精品99久久99久久久| 久久亚洲精品无码观看不卡| 久久久国产精品亚洲一区| 99久久精品免费看国产一区二区三区| 亚洲国产精品综合久久网络| 国产成人久久激情91| 亚洲欧美一区二区三区久久| 情人伊人久久综合亚洲| 一本色道久久综合狠狠躁| 国产精品美女久久久久av爽| 久久亚洲AV成人无码国产| 久久天天躁狠狠躁夜夜av浪潮| 久久久久久综合一区中文字幕| 亚洲欧洲精品成人久久曰影片 | 久久亚洲中文字幕精品一区四| www.久久热.com| 99久久精品国产一区二区| 久久婷婷五月综合成人D啪| 97久久精品人人澡人人爽 | 精品久久久久国产免费| 色综合久久88色综合天天| 国产精品久久久久…| 漂亮人妻被黑人久久精品| 亚洲中文字幕无码久久2020| 亚洲国产成人久久综合区| 久久久青草青青国产亚洲免观| 国产99久久久国产精免费| 亚洲综合精品香蕉久久网97| 2021精品国产综合久久| 日本精品久久久久中文字幕|