濮阳杆衣贸易有限公司

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

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

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

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

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

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

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

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

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

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

--可以使用單引號(hào)或者雙引號(hào)表示字符串
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    -- 雙引號(hào)
--\' single quote    -- 單引號(hào)

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

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

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

--當(dāng)Lua期望一個(gè)string而碰到數(shù)字時(shí),會(huì)將數(shù)字轉(zhuǎn)成string。..是字符串連接符,將字符串連接起來,當(dāng)連接倆個(gè)數(shù)字
--的時(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ù)可以存儲(chǔ)在變量中,可以作為函數(shù)的參數(shù),也可以作為函數(shù)的返回值。

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

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

--變量的作用域
--全局變量不需要聲明,給一個(gè)變量賦值后即創(chuàng)建了這個(gè)全局變量,訪問一個(gè)沒有初始化的全局變量也不會(huì)出錯(cuò),
--只不過得到的結(jié)果是:nil.
print(i) -->nil
--聲明一個(gè)局部變量使用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)示符,因?yàn)長(zhǎng)ua的保留字也是這樣的。

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

標(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)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(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)民參考!
  • 推薦文章
    阿拉尔市| 岳普湖县| 云南省| 元谋县| 尉氏县| 仁布县| 巫山县| 平果县| 隆回县| 平度市| 宁波市| 抚宁县| 广宁县| 义马市| 城固县| 汕头市| 历史| 海盐县| 尼玛县| 且末县| 深州市| 沾化县| 天全县| 山阳县| 尼勒克县| 乌拉特后旗| 宁都县| 扎赉特旗| 固原市| 安岳县| 瓦房店市| 凉城县| 兰州市| 敦煌市| 柘荣县| 新民市| 商洛市| 开原市| 玉屏| 连南| 井陉县|