一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Lua - Lua入門學習筆記

Lua入門學習筆記

2020-04-15 10:31腳本之家 Lua

這篇文章主要介紹了Lua入門學習筆記,本文適合有一定編程基礎的同學,可以依據本文快速入門Lua腳本語言,需要的朋友可以參考下

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

運算符

邏輯運算符

與:and
或:or
非:not

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

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

關系運算符

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

其他運算符

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

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

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

table

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

#運算符僅統計所有下標為整數的元素的個數。

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

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

 

復制代碼 代碼如下:

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

 

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

 

復制代碼 代碼如下:

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


第一個表示

 

 

復制代碼 代碼如下:

t["x"] = 1.1


第二個表示

 

 

復制代碼 代碼如下:

t[1] = 1

 

metatable

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

控制流

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

for 循環的循環變量是一個內部變量,循環結束之后,就不能再使用它了。

sublime text 2編譯

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

 

復制代碼 代碼如下:

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

 

設置好后,用 ctrl + B 即可編譯運行。 以上為pc上的配置。

在mac上需要先編譯安裝Lua

 

復制代碼 代碼如下:

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,內容為

 

復制代碼 代碼如下:

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

 

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

其他

Lua語句后的分號;可有可無。

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

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

延伸 · 閱讀

精彩推薦
  • LuaLua中計算、執行字符串中Lua代碼的方法

    Lua中計算、執行字符串中Lua代碼的方法

    這篇文章主要介紹了Lua中計算、執行字符串中Lua代碼的方法,類似JavaScript中eval函數的功能,在Lua中也可以實現,需要的朋友可以參考下 ...

    腳本之家6322020-04-30
  • Lua深入探究Lua中的解析表達式

    深入探究Lua中的解析表達式

    這篇文章主要介紹了深入探究Lua中的解析表達式,對于其語法部分的說明和示例都超詳細,極力推薦此文!需要的朋友可以參考下 ...

    腳本之家3542020-05-05
  • LuaLua中table庫函數方法介紹

    Lua中table庫函數方法介紹

    這篇文章主要介紹了Lua中table庫函數方法介紹,本文講解了concat、insert、maxn、remove、sort、foreachi等方法,需要的朋友可以參考下 ...

    腳本之家2502020-04-17
  • LuaLua實現__add方法重載示例

    Lua實現__add方法重載示例

    這篇文章主要介紹了Lua實現__add方法重載示例,本文直接給出實現代碼,需要的朋友可以參考下 ...

    腳本之家7452020-04-24
  • LuaLua教程(二):基礎知識、類型與值介紹

    Lua教程(二):基礎知識、類型與值介紹

    這篇文章主要介紹了Lua教程(二):基礎知識、類型與值介紹,本文講解了Hello World程序、代碼規范、全局變量、類型與值等內容,需要的朋友可以參考下 ...

    腳本之家5922020-04-28
  • LuaLua和C語言的交互詳解

    Lua和C語言的交互詳解

    這篇文章主要介紹了Lua和C語言的交互詳解,Lua和C語言通過棧完成交互,本文結合代碼實例詳細講解了交互的方法,需要的朋友可以參考下 ...

    果凍想3702020-04-14
  • LuaLua中的元方法__newindex詳解

    Lua中的元方法__newindex詳解

    這篇文章主要介紹了Lua中的元方法__newindex詳解,本文講解了查詢與更新、監控賦值、通過table給另一個table賦值等內容,需要的朋友可以參考下 ...

    笨木頭8872020-04-09
  • LuaLua簡介、編譯安裝教程及變量等語法介紹

    Lua簡介、編譯安裝教程及變量等語法介紹

    這篇文章主要介紹了Lua簡介、編譯安裝教程及變量等語法介紹,本文同時講解了lua注釋語法、Lua命令行方式等內容,需要的朋友可以參考下 ...

    junjie3632020-04-14
主站蜘蛛池模板: 久久精品中文闷骚内射 | 国产精品最新资源网 | 国产精品午夜剧场 | 激情自拍网 | 青青青国产在线 | 美女污视频在线观看 | 成年人视频免费在线观看 | 欧美黑大吊| 美女校花被调教出奶水 | 教室里的激情电影 | 满溢游泳池免费 | 俄罗斯三级在线观看级 | 国产成人综合亚洲一区 | darkside动漫在线观看 | 我要看靠逼片 | china中国xxxxfree china国产bbw | 亚洲午夜精品久久久久久人妖 | 色老板在线视频观看 | 美味情缘韩国在线观看视频 | 欧美办公室silkstocking | 亚洲 综合 欧美在线 热 | 日本视频在线观看播放 | 亚洲上最大成网人站4438 | 99久久一区二区精品 | 亚洲国产日韩制服在线观看 | 欧美性高清另类videosex死尸 | 国产欧美日韩精品在线 | 玩高中女同桌肉色短丝袜脚文 | 亚洲精品6久久久久中文字幕 | freehd182d动漫| 日本草草视频在线观看 | 60老妇性xxxxhd | 1024国产高清精品推荐 | 国产亚洲一欧美一区二区三区 | 日韩欧美推理片免费在线播放 | 成年看片免费高清观看 | 日韩精品一区二区三区中文字幕 | 亚洲国产精品久久久久久 | 性关系视频免费网站在线观看 | 99精品国产高清自在线看超 | porono日本人xxx |