濮阳杆衣贸易有限公司

主頁 > 知識庫 > Lua入門學(xué)習(xí)筆記

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

熱門標簽:百度地圖標注位置網(wǎng)站 智能語音電銷的機器人 上海企業(yè)外呼系統(tǒng)排名 400手機電話免費辦理 開通400電話申請流程 如何利用高德地圖標注家 電腦外呼系統(tǒng)輻射大嗎 武漢百應(yīng)人工智能電銷機器人 揚州電銷外呼系統(tǒng)軟件

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

運算符

邏輯運算符

與:and
或:or
非:not

邏輯判斷只有在false和nil時為假,其余均為真。 or和and會返回第一個斷路的值。

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

關(guān)系運算符

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

其他運算符

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

長度運算符:# 可計算字符串和table的長度。

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

table

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

#運算符僅統(tǒng)計所有下標為整數(shù)的元素的個數(shù)。

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

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

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

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

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

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

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

第一個表示

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

t["x"] = 1.1

第二個表示

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

t[1] = 1

metatable

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

控制流

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

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

sublime text 2編譯

我平時用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 即可編譯運行。 以上為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新建一個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語句后的分號;可有可無。

變量聲明時盡可能的使用local進行聲明,除非有作為全局變量的必要。

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

您可能感興趣的文章:
  • Lua腳本語言簡明入門教程
  • Lua極簡入門指南(一):基礎(chǔ)知識篇
  • Lua極簡入門指南(三): loadfile和錯誤處理
  • Lua極簡入門指南(一):函數(shù)篇
  • Lua極簡入門指南:全局變量
  • lua腳本語言快速入門教程
  • Lua極簡入門指南(六):模塊
  • Lua 極簡入門指南(七):面向?qū)ο缶幊?/li>
  • Lua腳本語言基本語法快速入門教程
  • Lua語言新手簡單入門教程

標簽:延邊 新余 江西 宜賓 黑龍江 嘉峪關(guān) 武漢 張掖

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Lua入門學(xué)習(xí)筆記》,本文關(guān)鍵詞  Lua,入門,學(xué)習(xí),筆記,Lua,入門,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Lua入門學(xué)習(xí)筆記》相關(guān)的同類信息!
  • 本頁收集關(guān)于Lua入門學(xué)習(xí)筆記的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    丰都县| 承德县| 宽甸| 巫山县| 唐海县| 巧家县| 津市市| 长兴县| 明溪县| 富民县| 廊坊市| 巴中市| 泗洪县| 普定县| 芜湖市| 龙陵县| 时尚| 玉环县| 宝兴县| 高淳县| 荆门市| 神池县| 友谊县| 桦川县| 苏尼特右旗| 彭州市| 中江县| 绵竹市| 荣成市| 张家港市| 文成县| 康保县| 搜索| 乡城县| 桑日县| 鲁山县| 离岛区| 天全县| 二连浩特市| 工布江达县| 池州市|