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

Lua基本語法

 更新時間:2015年05月14日 16:33:07   投稿:hebedich  
Lua是相當(dāng)簡單易學(xué),本篇文章來給大家稍微講一下Lua的語法,不會長篇累牘得把Lua的所有語法都講一遍,這里通過以下幾點來講Lua語言的基礎(chǔ)語法。

1 簡介

由 clean C 實現(xiàn)。需要被宿主程序調(diào)用,可以注入 C 函數(shù)。

2 語法約定

Lua 的語法基于 BNF 的語法規(guī)則。

Lua 對大小寫敏感。

2.1 保留關(guān)鍵字

C 語言中沒有的關(guān)鍵字有:

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

and elseif function
in nil local not or
repeat then until

規(guī)范:全局變量以下劃線開頭。

2.2 操作符

C 語言中沒有的操作符:

^
~=
//  -- 向下取整
Lua 中沒有的操作符:

+=
-=

2.3 字符串定義

采用轉(zhuǎn)義符:通過轉(zhuǎn)義符表示那些有歧義的字符

字符表示

a           -- 代表字符 a
\97         -- 代表字符 a
\049        -- 代表數(shù)字字符 1
其他轉(zhuǎn)義符表示

\\n         -- 代表字符串 \n
\n          -- 代表換行
注意數(shù)字字符必須是三位。其他字符則不能超過三位。

采用長括號:長括號內(nèi)的所有內(nèi)容都作為普通字符處理。

[[]]        -- 0級長括號
[==[]==]    -- 2級長括號

3 值與類型

Lua 是動態(tài)語言,變量沒有類型,值才有。值自身攜帶類型信息。

Lua 有八種基本數(shù)據(jù)類型:nil, boolean, number, string, function, userdata, thread, table。

僅 nil 和 false 導(dǎo)致條件為假,其他均為真。

userdata 類型變量用于保存 C 數(shù)據(jù)。 Lua 只能對該類數(shù)據(jù)進行使用,而不能進行創(chuàng)建或修改,保證宿主程序完全掌握數(shù)據(jù)。

thread 用于實現(xiàn)協(xié)程(coroutine)。

table 用于實現(xiàn)關(guān)聯(lián)數(shù)組。table 允許任何類型的數(shù)據(jù)做索引,也允許任何類型做 table 域中的值(前述
任何類型 不包含 nil)。table 是 Lua 中唯一的數(shù)據(jù)結(jié)構(gòu)。
由于函數(shù)也是一種值,所以 table 中可以存放函數(shù)。

function, userdata, thread, table 這些類型的值都是對象。這些類型的變量都只是保存變量的引用,并且在進行賦值,參數(shù)傳遞,函數(shù)返回等操作時不會進行任何性質(zhì)的拷貝。

庫函數(shù) type() 返回變量的類型描述信息。

3.1 強制轉(zhuǎn)換

Lua 提供數(shù)字與字符串間的自動轉(zhuǎn)換。
可以使用 format 函數(shù)控制數(shù)字向字符串的轉(zhuǎn)換。

4 變量

變量有三種類型:全局變量、局部變量、表中的域。

函數(shù)外的變量默認(rèn)為全局變量,除非用 local 顯示聲明。函數(shù)內(nèi)變量與函數(shù)的參數(shù)默認(rèn)為局部變量。

局部變量的作用域為從聲明位置開始到所在語句塊結(jié)束(或者是直到下一個同名局部變量的聲明)。

變量的默認(rèn)值均為 nil。

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

a = 5               -- 全局變量
local b = 5     -- 局部變量
function joke()
    c = 5           -- 局部變量
    local d = 6 -- 局部變量
end
print(c,d)      --> nil nil
do
    local a = 6 -- 局部變量
    b = 6           -- 全局變量
    print(a,b); --> 6 6
end
print(a,b)      --> 5 6

方便標(biāo)記,--> 代表前面表達(dá)式的結(jié)果。

4.1 索引

對 table 的索引使用方括號 []。Lua使用語法糖提供 . 操作。

t[i]
t.i                 -- 當(dāng)索引為字符串類型時的一種簡化寫法
gettable_event(t,i) -- 采用索引訪問本質(zhì)上是一個類似這樣的函數(shù)調(diào)用

4.2 環(huán)境表

所有全局變量放在一個環(huán)境表里,該表的變量名為 _env 。對某個全局變量 a 的訪問即 _env.a (_env_ 只是為了方便說明)。

每個函數(shù)作為變量持有一個環(huán)境表的引用,里面包含該函數(shù)可調(diào)用的所有變量。
子函數(shù)會從父函數(shù)繼承環(huán)境表。
可以通過函數(shù) getfenv / setfenv 來讀寫環(huán)境表。

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

相關(guān)文章

  • lua?判斷字符串是否包含指定字符的方法

    lua?判斷字符串是否包含指定字符的方法

    在Lua中,如果你想判斷一個字符串是否包含特定的子字符串(例如?a),你可以使用?string.find?函數(shù),這篇文章主要介紹了lua?判斷字符串是否包含指定字符,需要的朋友可以參考下
    2024-03-03
  • Lua中__index和__newindex之間的沉默與合作

    Lua中__index和__newindex之間的沉默與合作

    這篇文章主要介紹了Lua中__index和__newindex之間的沉默與合作,本文著重講解了__index和__newindex之間的聯(lián)系,需要的朋友可以參考下
    2014-09-09
  • lua中使用毫秒精度時間的方法

    lua中使用毫秒精度時間的方法

    這篇文章主要介紹了lua中使用毫秒精度時間的方法,本文講解使用luasocket庫實現(xiàn)毫秒精度時間,需要的朋友可以參考下
    2015-04-04
  • Lua中的table學(xué)習(xí)筆記

    Lua中的table學(xué)習(xí)筆記

    這篇文章主要介紹了Lua中的table學(xué)習(xí)筆記,本文講解了table.concat、table.insert、table.maxn、table.pack、 table.remove、table.sort等方法的使用,需要的朋友可以參考下
    2014-12-12
  • Lua中使用二維數(shù)組實例

    Lua中使用二維數(shù)組實例

    這篇文章主要介紹了Lua中使用二維數(shù)組實例,本文直接給出代碼實例,看代碼更容易理解,需要的朋友可以參考下
    2015-06-06
  • Lua中訪問table里函數(shù)的方法示例

    Lua中訪問table里函數(shù)的方法示例

    這篇文章主要介紹了Lua中訪問table里函數(shù)的方法示例,本文例子超級簡單,算是入門實例吧,其實只需要表名.方法名即可訪問,重要的還是其它代碼寫法,本文給出了一個完整的代碼示例,需要的朋友可以參考下
    2015-04-04
  • Lua中全局變量與非全局環(huán)境介紹

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

    這篇文章主要介紹了Lua中全局變量與非全局環(huán)境介紹,本文講解了全局變量的原形、非全局的環(huán)境、改變函數(shù)的全局變量環(huán)境、使用__index元方法保留原來的_G,需要的朋友可以參考下
    2014-09-09
  • Lua游戲開發(fā)教程之時區(qū)問題詳解

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

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

    Lua學(xué)習(xí)筆記之類型與值

    本文詳細(xì)的總結(jié)了Lua中的類型與值,對于實際編程中容易出錯的地方也進行了詳細(xì)的總結(jié),十分的全面實用。有需要的小伙伴可以參考下。
    2015-04-04
  • 詳解Lua中的元表概念

    詳解Lua中的元表概念

    這篇文章主要介紹了詳解Lua中的元表,是Lua入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05

最新評論

利川市| 三台县| 林甸县| 高台县| 原平市| 武宣县| 祁连县| 泾阳县| 高尔夫| 南宁市| 古蔺县| 双城市| 全椒县| 秦皇岛市| 泉州市| 茌平县| 海安县| 东宁县| 潼南县| 金湖县| 龙口市| 吉木乃县| 华池县| 镇平县| 太白县| 石河子市| 韶关市| 琼海市| 大英县| 通化县| 北宁市| 汉沽区| 阿拉尔市| 宝山区| 萍乡市| 雅安市| 安义县| 台东县| 乐至县| 望都县| 手游|