最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Lua入門學(xué)習(xí)筆記

 更新時(shí)間:2014年10月15日 09:01:26   投稿:junjie  
這篇文章主要介紹了Lua入門學(xué)習(xí)筆記,本文適合有一定編程基礎(chǔ)的同學(xué),可以依據(jù)本文快速入門Lua腳本語(yǔ)言,需要的朋友可以參考下

最近在使用Cocos2d-x + Lua來開發(fā)游戲。 游戲的主要邏輯將在Lua里寫,之前沒有接觸過Lua,以下是我總結(jié)的入門筆記。

運(yùn)算符

邏輯運(yùn)算符

與:and
或:or
非:not

邏輯判斷只有在false和nil時(shí)為假,其余均為真。 or和and會(huì)返回第一個(gè)斷路的值。

Lua中沒有C語(yǔ)言的三元符(x ? a : b),但有一個(gè)替代方案(x and a) or b。
需要注意的是,以上方案在x為true,a為false,b為true的情況下與三元符的結(jié)果是相反的。

關(guān)系運(yùn)算符

不等于:~=
類型和值均相等:==
只有數(shù)字和字符串類型在比較時(shí)判定的是值,其余數(shù)據(jù)類型比較的都是引用。

其他運(yùn)算符

字符串的連接符:..
兩字符串若用+連接時(shí),會(huì)被自動(dòng)轉(zhuǎn)義成數(shù)字類型進(jìn)行相加,這是由metatable里的add運(yùn)算決定的。

長(zhǎng)度運(yùn)算符:# 可計(jì)算字符串和table的長(zhǎng)度。

冒號(hào)運(yùn)算符: :是Lua的一個(gè)語(yǔ)法糖,其省去了方法的self參數(shù)聲明和方法的顯式調(diào)用。 詳見:http://www.lua.org/pil/16.html

table

table可視為數(shù)組,數(shù)組下標(biāo)不同于其他大多數(shù)語(yǔ)言,其下標(biāo)從1開始。

#運(yùn)算符僅統(tǒng)計(jì)所有下標(biāo)為整數(shù)的元素的個(gè)數(shù)。

與pairs不同的是,ipairs僅遍歷從1開始的連續(xù)下標(biāo),并且保證輸出順序。

t[2] 和 t["2"]表示不同的記錄

復(fù)制代碼 代碼如下:

t={["2"]=2, [2]=2.2,}

table最后可以多留一個(gè)分隔符(,或;),參照上一條的t,官方的理由是為了自動(dòng)生成table的方便(便于自動(dòng)生成Lua的table配置表)。

復(fù)制代碼 代碼如下:

x = 1
t = { x=1.1, [x]=1 }

第一個(gè)表示

復(fù)制代碼 代碼如下:

t["x"] = 1.1

第二個(gè)表示

復(fù)制代碼 代碼如下:

t[1] = 1

metatable

metatable的類型是table。 metatable里的key是事件(操作)類型。 metatable里的value是對(duì)應(yīng)的函數(shù)(方法),也稱之為metamethod。

控制流

return和break語(yǔ)句只能被寫在語(yǔ)句塊的最后一句,即end前。

for 循環(huán)的循環(huán)變量是一個(gè)內(nèi)部變量,循環(huán)結(jié)束之后,就不能再使用它了。

sublime text 2編譯

我平時(shí)用Sublime Text 2來編寫Lua腳本,其編譯Lua的設(shè)置如下: 生成Lua.sublime-build文件于C:\Users\YOUR_USER_NAME\AppData\Roaming\Sublime Text 2\Packages\Lua目錄下,文件內(nèi)容為

復(fù)制代碼 代碼如下:

{
    "cmd": ["lua", "$file"],
    "file_regex": "^(?:lua:)?[\t ](...*?):([0-9]*):?([0-9]*)",
    "selector": "source.lua"
}

設(shè)置好后,用 ctrl + B 即可編譯運(yùn)行。 以上為pc上的配置。

在mac上需要先編譯安裝Lua

復(fù)制代碼 代碼如下:

curl -R -O http://www.lua.org/ftp/lua-5.2.2.tar.gz
tar zxf lua-5.2.2.tar.gz
cd lua-5.2.2
make macosx test
sudo make install

然后在sublime text tools -> build system -> new build system新建一個(gè)Lua.sublime-build,內(nèi)容為

復(fù)制代碼 代碼如下:

 "cmd": ["/usr/local/bin/lua", "$file"], 
 "file_regex": "^(...*?):([0-9]*):?([0-9]*)", 
 "selector": "source.lua" 
}

即可在mac的sublime text上用 ⌘ + B 編譯Lua。

其他

Lua語(yǔ)句后的分號(hào);可有可無。

變量聲明時(shí)盡可能的使用local進(jìn)行聲明,除非有作為全局變量的必要。

為參數(shù)列表,在函數(shù)中以arg(類型為table)進(jìn)行獲取 arg還有一個(gè)額外的鍵n,用來表示參數(shù)的個(gè)數(shù)。

相關(guān)文章

  • lua實(shí)現(xiàn)的2048小游戲

    lua實(shí)現(xiàn)的2048小游戲

    之前給大家分享了好幾個(gè)語(yǔ)言版本的2048了,今天再給大家分享一個(gè)lua腳本實(shí)現(xiàn)的2048小游戲,小伙伴們參考下吧。
    2015-03-03
  • Lua中全局變量與非全局環(huán)境介紹

    Lua中全局變量與非全局環(huán)境介紹

    這篇文章主要介紹了Lua中全局變量與非全局環(huán)境介紹,本文講解了全局變量的原形、非全局的環(huán)境、改變函數(shù)的全局變量環(huán)境、使用__index元方法保留原來的_G,需要的朋友可以參考下
    2014-09-09
  • Lua中關(guān)系運(yùn)算符的使用教程

    Lua中關(guān)系運(yùn)算符的使用教程

    這篇文章主要介紹了Lua中關(guān)系運(yùn)算符的使用教程,是Lua學(xué)習(xí)入門中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • Lua返回一個(gè)Closures函數(shù)實(shí)例

    Lua返回一個(gè)Closures函數(shù)實(shí)例

    這篇文章主要介紹了Lua返回一個(gè)Closures函數(shù)實(shí)例,本文直接給出代碼實(shí)例,需要的朋友可以參考下
    2015-04-04
  • Lua中的元表與元方法學(xué)習(xí)總結(jié)

    Lua中的元表與元方法學(xué)習(xí)總結(jié)

    這篇文章主要介紹了Lua中的元表與元方法學(xué)習(xí)總結(jié),本文講解了算術(shù)類的元方法、__tostring元方法等內(nèi)容,需要的朋友可以參考下
    2014-09-09
  • 理解Lua中的__index和__newindex

    理解Lua中的__index和__newindex

    這篇文章主要介紹了理解Lua中的__index和__newindex,本文給出了三段代碼來講解__index和__newindex,代碼中包含詳細(xì)注釋,需要的朋友可以參考下
    2015-04-04
  • Lua文件讀寫詳解

    Lua文件讀寫詳解

    這篇文章主要介紹了Lua文件讀寫詳解,本文講解了文件讀寫的簡(jiǎn)單模型和完整模型,并給出了一個(gè)操作示例,需要的朋友可以參考下
    2015-04-04
  • 如何使用Vim搭建Lua開發(fā)環(huán)境詳解

    如何使用Vim搭建Lua開發(fā)環(huán)境詳解

    這篇文章主要給大家介紹了關(guān)于如何使用Vim搭建Lua開發(fā)環(huán)境的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • Lua游戲開發(fā)教程之時(shí)區(qū)問題詳解

    Lua游戲開發(fā)教程之時(shí)區(qū)問題詳解

    時(shí)間顯示問題說白了就是時(shí)差問題,這篇文章主要給大家介紹了關(guān)于Lua游戲開發(fā)教程之時(shí)區(qū)問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • Lua中的迭代器和泛型for介紹

    Lua中的迭代器和泛型for介紹

    這篇文章主要介紹了Lua中的迭代器和泛型for介紹,任何一種結(jié)構(gòu),只要允許你遍歷集合中所有元素的都可稱之為迭代器,本文就講解了Lua中迭代器的相關(guān)知識(shí)和代碼實(shí)例,并講解了泛型for的語(yǔ)法,需要的朋友可以參考下
    2015-04-04

最新評(píng)論

许昌市| 桑日县| 道孚县| 富锦市| 新邵县| 龙南县| 蓬莱市| 宁德市| 衢州市| 富裕县| 昌平区| 达拉特旗| 桐庐县| 霍州市| 泸西县| 芦溪县| 九台市| 宝兴县| 灯塔市| 纳雍县| 兴化市| 林芝县| 淄博市| 吴桥县| 松滋市| 丹凤县| 通河县| 元阳县| 阿巴嘎旗| 林州市| 横山县| 临颍县| 汶川县| 柳河县| 霍城县| 海林市| 江永县| 麻栗坡县| 永和县| 罗源县| 西吉县|