婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Lua基本語法

Lua基本語法

熱門標簽:外呼系統一天耗費多少流量 電話機器人每天搜索多少次 免費門店地圖標注注冊入駐 海口智能語音電銷機器人好用嗎 陜西便宜電銷機器人軟件 昆明電話外呼系統好么 杞縣地圖標注app 衡水外呼線路解決 艾比利外呼系統

1 簡介

由 clean C 實現。需要被宿主程序調用,可以注入 C 函數。

2 語法約定

Lua 的語法基于 BNF 的語法規則。

Lua 對大小寫敏感。

2.1 保留關鍵字

C 語言中沒有的關鍵字有:

復制代碼 代碼如下:

and elseif function
in nil local not or
repeat then until

規范:全局變量以下劃線開頭。

2.2 操作符

C 語言中沒有的操作符:

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

+=
-=

2.3 字符串定義

采用轉義符:通過轉義符表示那些有歧義的字符

字符表示

a           -- 代表字符 a
\97         -- 代表字符 a
\049        -- 代表數字字符 1
其他轉義符表示

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

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

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

3 值與類型

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

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

僅 nil 和 false 導致條件為假,其他均為真。

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

thread 用于實現協程(coroutine)。

table 用于實現關聯數組。table 允許任何類型的數據做索引,也允許任何類型做 table 域中的值(前述
任何類型 不包含 nil)。table 是 Lua 中唯一的數據結構。
由于函數也是一種值,所以 table 中可以存放函數。

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

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

3.1 強制轉換

Lua 提供數字與字符串間的自動轉換。
可以使用 format 函數控制數字向字符串的轉換。

4 變量

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

函數外的變量默認為全局變量,除非用 local 顯示聲明。函數內變量與函數的參數默認為局部變量。

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

變量的默認值均為 nil。

復制代碼 代碼如下:

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

方便標記,--> 代表前面表達式的結果。

4.1 索引

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

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

4.2 環境表

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

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

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

您可能感興趣的文章:
  • Lua中的基本語法、控制語句總結
  • Lua簡介、編譯安裝教程及變量等語法介紹
  • Lua教程(二):語法約定
  • ubuntu 14.04下熟悉lua的語法

標簽:臨滄 西寧 宿遷 營口 海口 昌都 南京 泰安

巨人網絡通訊聲明:本文標題《Lua基本語法》,本文關鍵詞  Lua,基本,語法,Lua,基本,語法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Lua基本語法》相關的同類信息!
  • 本頁收集關于Lua基本語法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 尼勒克县| 巨鹿县| 金平| 江川县| 拜城县| 晋城| 衡南县| 东乌| 邓州市| 乾安县| 平潭县| 民乐县| 当阳市| 边坝县| 商洛市| 陈巴尔虎旗| 乌拉特中旗| 龙州县| 昌都县| 卢氏县| 宁陵县| 莱芜市| 深圳市| 三穗县| 开封县| 襄汾县| 盐源县| 武乡县| 宝兴县| 安图县| 西吉县| 湖州市| 波密县| 扶余县| 池州市| 马山县| 大庆市| 广州市| 东辽县| 张家川| 光山县|