濮阳杆衣贸易有限公司

主頁 > 知識庫 > Lua學(xué)習(xí)筆記之?dāng)?shù)據(jù)類型

Lua學(xué)習(xí)筆記之?dāng)?shù)據(jù)類型

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

從本篇博客開始研究一下Lua,現(xiàn)在的Lua真得是很火,因為Cocos2d-x寫游戲的時候會用到,所以就拿過來學(xué)學(xué)吧,先從基礎(chǔ)的語法開始,然后慢慢的深入。本人也是剛剛學(xué)習(xí),希望和學(xué)習(xí)Lua的大家交流,博客權(quán)當(dāng)筆記,有錯誤之處還請賜教。

當(dāng)然首先是開發(fā)環(huán)境了,我的學(xué)習(xí)背景是Cocos2d-x,所以下載了最近發(fā)布的Cocos Code IDE版本,我們可以在Cocos Code IDE上邊新建工程,然后寫Lua測試代碼,關(guān)于Cocos Code IDE的使用官方有不少的教程,這里就不說了。當(dāng)然你也可以在控制臺下寫一些Lua命令,這種和命令行交互的方式比較適合簡單的測試,需要做得工作是下載Lua,然后在控制臺敲入Lua,在Mac下下載Lua只需要敲入命令brew install lua就搞定了,如果你沒有安裝brew,就先安裝一下brew,最后如圖所示代表你就成功了。

環(huán)境搭建好了以后就開始來接觸一下這個腳本語言吧。首先是最基礎(chǔ)的Lua類型,下面一一介紹。

--nil
--Lua中特殊的類型,他只有一個值:nil,一個全局變量沒有被賦值以前默認值為nil,給全局變量負nil可以刪除該變量。
print(i)
i = nil

--booleans
--兩個取值false和true。但要注意Lua中所有的值都可以作為條件。在控制結(jié)構(gòu)的條件中除了false和nil為假,
--其他值都為真。所以Lua認為0和空串都是真。

--numbers
--表示實數(shù),Lua中沒有整數(shù)。用實數(shù)代替整數(shù)不會有什么誤差(除非數(shù)字大于100,000,000,000,000)。Lua的numbers可以處理任何長整數(shù)不用擔(dān)心誤差。

--strings
--字符串類型,Lua中字符串是不可以修改的,你可以創(chuàng)建一個新的變量存放你要的字符串
local a = "hello lua"
local b = string.gsub(a,"hello","hi")
print(a)
print(b)

--可以使用單引號或者雙引號表示字符串
a = "a line"
b = 'another line'

--lua同樣支持轉(zhuǎn)義字符
--\a bell
--\b back space    -- 后退
--\f form feed    -- 換頁
--\n newline     -- 換行
--\r carriage return   -- 回車
--\t horizontal tab   -- 制表
--\v vertical tab
--\\ backslash     -- "\"
--\" double quote    -- 雙引號
--\' single quote    -- 單引號

--還可以使用[[...]]表示字符串。這種形式的字符串可以包含多行,也可以嵌套且不會解釋轉(zhuǎn)義序列,
--如果第一個字符是換行符會被自動忽略掉。
local code = [[

\b back space    -- 后退
\f form feed    -- 換頁
\n newline     -- 換行
]]
print(code)

--運行時,Lua會自動在string和numbers之間自動進行類型轉(zhuǎn)換,當(dāng)一個字符串使用算術(shù)操作符時,
--string就會被轉(zhuǎn)成數(shù)字。
print("10" + 1)    --> 11

--當(dāng)Lua期望一個string而碰到數(shù)字時,會將數(shù)字轉(zhuǎn)成string。..是字符串連接符,將字符串連接起來,當(dāng)連接倆個數(shù)字
--的時候,注意數(shù)字后邊要有空格
print(10 .. 20)  --> 1020

--如果需要顯式將string轉(zhuǎn)成數(shù)字可以使用函數(shù)tonumber(),如果string不是正確的數(shù)字該函數(shù)將返回nil。
--反之,可以調(diào)用tostring()將數(shù)字轉(zhuǎn)成字符串,這種轉(zhuǎn)換一直有效
print(1+tonumber(2)) -->3
print(tostring(100)) -->100

--function
--函數(shù)是第一類值(和其他變量相同),意味著函數(shù)可以存儲在變量中,可以作為函數(shù)的參數(shù),也可以作為函數(shù)的返回值。

--Userdata and Threads
--userdata就是用戶數(shù)據(jù)類型,指的是自己定義的類型,userdata在Lua中除了賦值和相等比較外沒有預(yù)定義的操作
--thread代表線程

--table表 比較重要 以上三個數(shù)據(jù)類型在其他博客說明

--變量的作用域
--全局變量不需要聲明,給一個變量賦值后即創(chuàng)建了這個全局變量,訪問一個沒有初始化的全局變量也不會出錯,
--只不過得到的結(jié)果是:nil.
print(i) -->nil
--聲明一個局部變量使用local 局部變量只在局部代碼塊中有效,比如在循環(huán)中,if語句中,do end代碼塊中
--我們應(yīng)該盡可能的使用局部變量
local j = 1
do
 local k = 1
end
print(k) -->nil

--標(biāo)示符
--字母(letter)或者下劃線開頭的字母、下劃線、數(shù)字序列.最好不要使用下劃線加大寫字母的標(biāo)示符,因為Lua的保留字也是這樣的。

--注意:Lua是大小寫敏感的.
--注釋:單行注釋:--
--多行注釋:--[[ --]]
您可能感興趣的文章:
  • 詳解Lua中的數(shù)據(jù)類型
  • Lua判斷數(shù)據(jù)類型的方法
  • 實現(xiàn)Lua中數(shù)據(jù)類型的源碼分享
  • Lua數(shù)據(jù)類型介紹
  • Lua中的基本數(shù)據(jù)類型詳細介紹
  • 深入探究Lua中的解析表達式
  • Lua教程(三):表達式和語句
  • Lua學(xué)習(xí)筆記之表達式
  • Lua表達式和控制結(jié)構(gòu)學(xué)習(xí)筆記
  • Lua中的操作符和表達式總結(jié)
  • Lua基礎(chǔ)教程之賦值語句、表達式、流程控制、函數(shù)學(xué)習(xí)筆記
  • Lua學(xué)習(xí)筆記之運算符和表達式
  • Lua中基本的數(shù)據(jù)類型、表達式與流程控制語句講解

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Lua學(xué)習(xí)筆記之?dāng)?shù)據(jù)類型》,本文關(guān)鍵詞  Lua,學(xué)習(xí),筆記,之,數(shù)據(jù),類型,;如發(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í)筆記之?dāng)?shù)據(jù)類型》相關(guān)的同類信息!
  • 本頁收集關(guān)于Lua學(xué)習(xí)筆記之?dāng)?shù)據(jù)類型的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    永嘉县| 遂平县| 德安县| 青州市| 大城县| 碌曲县| 泾阳县| 卓资县| 祁阳县| 中超| 泰来县| 建德市| 梅州市| 五指山市| 勐海县| 体育| 织金县| 阿瓦提县| 台湾省| 隆德县| 庄浪县| 东源县| 云阳县| 厦门市| 临江市| 靖西县| 通化县| 曲阳县| 习水县| 陵水| 云霄县| 会同县| 志丹县| 晋中市| 忻城县| 玉龙| 论坛| 鹿泉市| 永平县| 新化县| 乌拉特后旗|