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

主頁 > 知識庫 > Lua中的變量類型與語句學習總結

Lua中的變量類型與語句學習總結

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

1. Lua類型
1.1 基本類型

Lua是一種動態類型語言,沒有類型定義的語法。Lua一共有8種基礎類型:nil(空)、boolean(布爾)、number(數字)、string(字符串)、userdata(自定義類型)、function(函數)、thread(線程)、table(表)。

函數type可根據一個值返回其類型名稱(字符串),如print(type(print)),輸出“function”;print(type(type(X))) ,輸出“string”。(這里不管X有沒有定義,type(X)總是返回字符串)

1.2 各類型要注意的地方

(1)關于boolean:

在Lua中,false和nil視為“false”,其它值均視為“true”(包括數字0和空字符串)。
(2)關于number:

該類型用于表示實數(雙精度double),整數也用此類型表示。
(3)關于string:

字符串不能像C語言一樣直接修改某個字符,必要時應通過string庫創建一個新的字符串。字符串可以用一對匹配的單引號或雙引號來界定。可以實用類C語言的轉義序列。

此外,可以用雙方括號[[內容]]來界定,其中的換行字符均被忽略,適用于包含一整段的字符串。若在左邊的兩個方括號間加入任意數量的等號,如[===[,則字符串右邊應該匹配帶相同數量等號的方括號,如]===],這樣做就可以在不加轉義的情況下直接嵌入任意內容的字符串。同理注釋也可以這樣使用,如--[==[匹配--]==]。

Lua提供運行時的數字與字符串自動轉換。如print("10"+1) –> 11,print(10 ..20) –> 1020(“..”是字符串連接符,上例將數字轉換成字符串并連接,數字和..之間應該留一個空格)。

建議盡量少用自動轉換,如有需要可用強制轉換。函數tonumber(x)嘗試將x轉換成數字,若失敗則返回nil,函數tostring(x)將x轉換成字符串。在字符串前放置“#”可獲得字符串的長度,如print(#"length") –> 6。
(4)關于table:

Table是一種具有特殊索引方式的數組,可以實用除nil外的其他類型的值作為索引,其增長與刪減均通過自動內存管理來完成。Table是一個“對象”,程序僅持有一個對它們的引用,例如可以通過a = {}創建一個table并將它的引用存儲到a,若再b = a,則b與a引用同一個table。若table的某個元素沒有初始化,其值即為nil,可以通過賦nil來刪除table的某個元素。

有一種等價寫法:p["age"]等價于p.age。注意,p.age和p[age]并不等價。

“#”可用于返回一個數組的最后一個索引值(或其大?。?。例如print(a[#a])打印列表a的最后一個值,a[#a+1] = io.read()讀入一個值并插入到列表a末尾。注意,Lua將nil作為界定數組結尾的標志,當一個數組中間含有nil時,#會認為第一個nil就是結尾,因此應避免對含“空隙”的數組使用#。

在Lua中,一般默認table第一個索引為1而不是C語言中的0。
Function、userdata和thread類型留到以后再講。

2. 表達式
2.1. 算術操作符

常規的操作符有:+加、-減、*乘、/除、^指數、%取模。其中^可用于任意實數,如x ^ (-1 / 3)計算x的立方根倒數。%可以這樣使用:x % 1結果是x的小數部分,x - x % 0.01是x精確到小數點后兩位的結果。

2.2. 關系操作符

常規關系操作符有:小于、>大與、=小于等于、>=大于等于、==相等、~=不等。==和~=可用于任意兩個值,若兩個值具有不同類型則不相等,有相同類型則作正常比較(nil只與其自身相等)。對于對象則比較它們的引用。

2.3. 邏輯操作符

邏輯操作符有and、or和not。對and(or)來說,若第一個操作數為假(真),就返回第一個操作數,否則返回第二個操作數。如print(4 and 5) –> 5,print(false or 5) –> 5。

有一些常用寫法:x = x or v,可用在沒有設置x的時候,將其設為一個默認值v。另一種寫法(a and b) or c類似a ? b : c,如max = (x > y) and x or y。

2.4. 字符串連接符

可用“..”(兩個點)來連接兩個字符串,若其中任一個為數字,Lua會自動轉換,如print(0 ..1) –> 01。連接字符串只會創建一個新字符串,不會對原操作數進行修改。

Lua運算符優先級順序如下圖所示。

2.5. Table構造式

除了上述直接賦予{}創建空table以外,可以初始化其值,如day = {"S", "M", "T"},或者point = {x = 10, y = 20}(即point.x=10,point.y=20)。以上兩種初始化方式可以混用,還可以用分號代替逗號,來將列表部分和記錄部分明顯地分隔開,如polyline = {color = "blue"; {x = 0, y = 0}, {x = 10, y = 10}, {x = 20, y = 30}},則print(polyline[2].x)` –> 10。

更加通用的初始化格式,可以在方括號間聲明索引值,如opnames={["+"] = "add", ["-"] = "minus"}。若某些情況真的需要以0作為一個數組的起始索引,可以這樣days={[0] = "S", "M", "T"}。但是不推薦在Lua中以0作為索引起始值,因為大多數內建函數都假設數組起始于索引1。

3. 順序結構
3.1. 賦值

除了普通的用“=”賦值之外,Lua還允許多重賦值,每個值和每個變量之間用逗號分隔。Lua總會將等號右邊值的個數調整到與左邊變量個數一致,若值個數少了,則多余的變量將賦予nil;若值個數多了,則多余的值會被丟棄。如a, b = 10, 2 * x,x, y = y, x(交換)。多重賦值一般用于交換兩個變量的值,或者接受一個函數的多個返回值。

3.2. 局部變量與程序塊

相對于全局變量,Lua還提供了局部變量,給變量加上限定詞local即可。局部變量的作用域僅限于聲明它們的那個程序塊(如控制結構的執行體、函數等)。

注意,在交互模式中每行輸入內容自身就形成了一個程序塊,因此單句local聲明沒有效果??梢燥@式界定一個塊,將內容放入一對do-end關鍵字中即可,這個方法也可以用于嚴格控制某些局部變量的作用域。

有一種習慣寫法local foo = foo,創建一個局部變量foo并用全局變量foo的值初始化它。若后續其他函數改變全局變量foo的值,可以在這里先將其保存起來。

4. 控制結構
所有控制結構語句都有一個顯示的終止符:if、for、和while以end結尾,repeat以until結尾。

4.1. if then else(elseif)語句

格式:if 條件1> then 內容1> elseif 條件2> then 內容2> else 內容3> end
Lua中不支持switch語句,所以一連串if elseif語句是很常見的。

4.2. while和repeat語句

格式:while 條件> do 循環體> end

格式:repeat 循環體> until 條件>
在Lua中,一個聲明在循環體內的局部變量的作用域包括循環的條件測試。

4.3. 數字型for語句

格式:for var=exp1, exp2, exp3 do 循環體> end
上式表示var從exp1變化到exp2,以exp3作為步長遞增var。其中exp3是可選的,若不指定則默認步長為1。如果將exp2設為math.huge,則為無限循環。

有一些細節需要注意。for的3個表達式是在循環開始前一次性求值的,以后將不再求值。另外,控制變量會被自動地聲明為for語句的局部變量,僅在循環體內可見。

4.4. 泛型for語句

泛型for循環通過一個迭代器來遍歷所有值,如for i,v in ipairs(tableA) do print(v) end,其中i被賦予索引值,而v被賦予對應的元素值。其中ipairs(array)函數用于遍歷數組并返回數字下標-元素值對,pairs(table)函數用于遍歷table并返回鍵-值對,string.gmatch(string)迭代字符串中的單詞。

泛型for的一個應用是創建逆向table,即新table的鍵值與原table鍵值反轉。

4.5. break和return語句

這兩個語句都用于跳出當前的語句塊,break結束一層循環,return結束一個函數的執行。如果剛定義了一個function然后直接要在一開始就跳出函數作為調試用,可以用一個顯示的do塊來包含return語句,即function foo() do return end end。

您可能感興趣的文章:
  • Lua中的變量和流控制入門學習
  • 詳解Lua中的變量相關知識點
  • Lua教程(十): 全局變量和非全局的環境
  • Lua判斷變量是否為數字、字符串是否可以轉換為數字等
  • Lua中創建全局變量的小技巧(禁止未預期的全局變量)
  • C語言中通過LUA API訪問LUA腳本變量的簡單例子
  • Lua變量類型簡明總結
  • Lua中的全局變量、非全局變量總結
  • Lua中全局變量與非全局環境介紹
  • Lua中的變量與賦值方法

標簽:宿遷 昌都 南京 營口 泰安 臨滄 西寧 巨人網絡通訊聲明:本文標題《Lua中的變量類型與語句學習總結》,本文關鍵詞  Lua,中的,變量,類型,與,語句,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。

  • 相關文章
  • 下面列出與本文章《Lua中的變量類型與語句學習總結》相關的同類信息!
  • 本頁收集關于Lua中的變量類型與語句學習總結的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久精品99国产国产精| 色噜噜狠狠成人网p站| 不卡在线视频中文字幕| 欧美最猛黑人xxxxx猛交| 91精品国产乱码| 亚洲免费观看在线观看| 精品一区二区三区视频在线观看| av不卡一区二区三区| 欧美白人最猛性xxxxx69交| 一区二区免费视频| 成人国产精品免费观看| 欧美精品一区二区久久久| 午夜精品aaa| 色综合久久66| 中文字幕一区二区三区在线不卡| 国产一区二区三区免费在线观看 | 国产美女精品一区二区三区| 99久久久精品免费观看国产蜜| 欧美精品一区二区蜜臀亚洲| 日韩精品欧美精品| 欧洲国内综合视频| 亚洲色图视频免费播放| 99这里都是精品| 国产精品久久久久桃色tv| 国产精品18久久久久久久久| 欧美va亚洲va香蕉在线| 免费观看成人av| 欧美福利视频导航| 亚洲一区在线电影| 欧美性感一区二区三区| 亚洲你懂的在线视频| av成人免费在线观看| 中文字幕欧美激情一区| 成人精品视频一区二区三区尤物| 精品盗摄一区二区三区| 国产在线精品一区在线观看麻豆| 日韩视频一区二区在线观看| 久久99久久久久| 精品国产乱码久久久久久闺蜜| 九九精品一区二区| 国产日韩欧美电影| 成人av电影在线| 亚洲日本丝袜连裤袜办公室| 91视频.com| 亚洲一二三专区| 欧美日韩和欧美的一区二区| 婷婷国产在线综合| 精品国产区一区| 国产91丝袜在线观看| 亚洲欧美在线高清| 欧美日韩一区在线观看| 麻豆视频一区二区| 国产视频不卡一区| 欧美综合色免费| 日本不卡一二三区黄网| 久久色在线视频| 91丨porny丨蝌蚪视频| 亚洲综合免费观看高清在线观看| 91精品国产综合久久福利软件| 免费观看成人av| 国产精品视频九色porn| 欧美亚洲国产一区二区三区 | 91精品国产福利| 国产一区二区三区国产| 亚洲日本一区二区三区| 欧美一区二区三区视频免费播放 | 91精品福利视频| 丝袜a∨在线一区二区三区不卡| 欧美成人伊人久久综合网| 99综合影院在线| 日韩精品一二三| 国产精品私人自拍| 欧美日韩黄色一区二区| 国产69精品一区二区亚洲孕妇| 香蕉久久一区二区不卡无毒影院 | 日本成人在线不卡视频| 韩日精品视频一区| 国产美女久久久久| 91精品在线观看入口| 中文字幕一区二区三区在线播放| 亚洲宅男天堂在线观看无病毒| 成人激情动漫在线观看| 欧美xxxxxxxxx| 免费看日韩精品| 欧美性大战久久| 亚洲欧美日韩中文字幕一区二区三区 | 精品一区二区三区久久久| 国产在线一区二区| 日韩精品在线网站| 一区二区三区不卡在线观看| 国产美女视频91| 国产成人无遮挡在线视频| 国产91富婆露脸刺激对白| 日韩欧美在线不卡| 丝袜美腿亚洲综合| 亚洲精品亚洲人成人网在线播放| 1000部国产精品成人观看| 国产精品中文有码| 久久精品视频一区| 精品国精品自拍自在线| 欧美巨大另类极品videosbest| 成人黄色小视频| 国产成人免费视| 国产一区免费电影| 国产一区二区精品在线观看| 国产福利精品一区| 久久不见久久见免费视频1| 亚欧色一区w666天堂| 一区二区三区91| 亚洲激情自拍偷拍| 亚洲人成在线播放网站岛国| 最新日韩在线视频| 亚洲丝袜美腿综合| 亚洲婷婷国产精品电影人久久| 国产精品激情偷乱一区二区∴| 久久久99精品免费观看| 国产亚洲精品久| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产精品午夜电影| 亚洲欧洲一区二区在线播放| 亚洲女同一区二区| 五月婷婷综合在线| 日本亚洲天堂网| 国产一区二区三区美女| 国产成+人+日韩+欧美+亚洲| 成人免费福利片| 在线观看av一区二区| 69堂国产成人免费视频| 日韩精品在线看片z| 久久麻豆一区二区| 中文字幕综合网| 亚洲成人av电影在线| 久久福利资源站| 国产69精品一区二区亚洲孕妇| 99久久精品国产精品久久| 欧洲亚洲国产日韩| 欧美成人aa大片| 欧美国产在线观看| 一区二区三区高清在线| 久久99精品国产麻豆婷婷| 国产成人综合网站| 欧美在线视频日韩| 久久久久免费观看| 亚洲人成小说网站色在线| 蜜桃视频一区二区三区在线观看| 久久精品噜噜噜成人88aⅴ| 欧美老女人在线| 久久精品亚洲国产奇米99| 中文字幕亚洲在| 蜜臂av日日欢夜夜爽一区| 成人黄色av电影| 91精品麻豆日日躁夜夜躁| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产一区二三区| av中文字幕不卡| 91麻豆精品国产| 自拍偷拍国产精品| 国产在线一区观看| 在线观看日产精品| 国产亚洲va综合人人澡精品| 亚洲国产成人porn| 成人黄色免费短视频| 日韩欧美亚洲国产另类| 亚洲日本青草视频在线怡红院| 久久电影网站中文字幕| 色婷婷精品久久二区二区蜜臀av| 日韩精品一区二区在线| 亚洲综合一区二区精品导航| 欧美日韩国产美女| 亚洲国产精品v| 久久99精品国产.久久久久 | 精品一区二区三区在线播放| 91在线你懂得| 国产亚洲精品中文字幕| 日韩有码一区二区三区| 不卡一区中文字幕| 成人激情开心网| 久久久久高清精品| 国内精品国产成人| 欧美激情综合五月色丁香| 成人高清免费观看| 亚洲女与黑人做爰| 欧美日韩一区二区三区不卡| 日韩激情视频网站| 国产亚洲午夜高清国产拍精品| 福利视频网站一区二区三区| 亚洲色图制服丝袜| 在线播放欧美女士性生活| 狠狠色狠狠色合久久伊人| 国产日韩精品一区二区浪潮av| 99久久免费国产| 亚洲一二三四久久| 欧美va亚洲va| 97精品国产露脸对白| 亚洲一区二区视频在线| 日韩久久免费av| 99天天综合性| 免费在线看一区| 中文字幕中文字幕一区二区| 欧美挠脚心视频网站|