Lua——基本语法知识,从hello word开始
文章目錄
- 一、hello word
- 三、關(guān)鍵字
- 二、數(shù)據(jù)類(lèi)型
- 1.基本知識(shí)
- 2.示例說(shuō)明
- 三、變量
- 1.基本知識(shí)
- 2.示例演示
一、hello word
程序:
print("hello lua!") print("hello world!")--"這是行注釋"--[[ "這是多行注釋" print("這條語(yǔ)句打印不出來(lái)") --]]運(yùn)行結(jié)果:
Lua中的注釋表示如下:
三、關(guān)鍵字
以下為L(zhǎng)ua中的關(guān)鍵字,跟C語(yǔ)言中的差不多,保留關(guān)鍵字不能作為常量或變量或其他用戶(hù)自定義標(biāo)示符。一般約定,以下劃線(xiàn)開(kāi)頭連接一串大寫(xiě)字母的名字(比如 _VERSION)被保留用于 Lua 內(nèi)部全局變量。
二、數(shù)據(jù)類(lèi)型
1.基本知識(shí)
Lua 是動(dòng)態(tài)類(lèi)型語(yǔ)言,變量不要類(lèi)型定義,只需要為變量賦值。 值可以存儲(chǔ)在變量中,作為參數(shù)傳遞或結(jié)果返回。
Lua 中有 8 個(gè)基本類(lèi)型分別為:nil、boolean、number、string、userdata、function、thread 和 table。
2.示例說(shuō)明
可以用函數(shù)type來(lái)查看變量的類(lèi)型
a="abc" b='p' c=10 d=true e=nil f="nil" print(type(a)) --string print(type(b)) --string print(type(c)) --number print(type(d)) --boolean print(type(e)) --nil print(type(f)) --string print(type(type(a)))--string,type()函數(shù)返回值是string類(lèi)型 print(type(type)) --function運(yùn)行結(jié)果:
要注意nil和"nil",前者是數(shù)據(jù)類(lèi)型,表示無(wú)效數(shù)據(jù),后者帶雙引號(hào),代表字符串。Lua中對(duì)于字符串來(lái)說(shuō),用單引號(hào) ''或者雙引號(hào)""都可以。
三、變量
1.基本知識(shí)
Lua語(yǔ)言對(duì)大小寫(xiě)敏感。
(1)變量在使用前,需要在代碼中進(jìn)行聲明,即創(chuàng)建該變量。
(2)編譯程序執(zhí)行代碼之前編譯器需要知道如何給語(yǔ)句變量開(kāi)辟存儲(chǔ)區(qū),用于存儲(chǔ)變量的值。
(3)Lua 變量有三種類(lèi)型:全局變量、局部變量、表中的域。
(4)Lua 中的變量全是全局變量,哪怕是語(yǔ)句塊或是函數(shù)里,除非用 local 顯式聲明為局部變量。
(5)局部變量的作用域?yàn)閺穆暶魑恢瞄_(kāi)始到所在語(yǔ)句塊結(jié)束。
(6)變量的默認(rèn)值均為 nil。如果想要?jiǎng)h除一個(gè)全局變量,只需要將變量值賦值為nil即可。
如下圖,不存在的變量打出來(lái)是nil
2.示例演示
print(a);--沒(méi)有對(duì)a賦值,打印出來(lái)的是nila = 10 --全局變量 local b=20 --局部變量,賦值和Shell略有不同,等號(hào)前后有沒(méi)有空格都不影響 print(a,b) --打印出來(lái)是10,20function fun() --fun函數(shù)a=30 --將全局變量a賦值成30b=40 --將全局變量b賦值成40c=50 --全局變量c賦值成50local d=60--局部變量d賦值成60 endfun()--調(diào)用fun函數(shù)print(a,b,c,d) --a,b,c都是全局變量,打印出來(lái)是30 40 50--由于d是局部變量,作用域在fun函數(shù)內(nèi),所以這里打印nil運(yùn)行結(jié)果:
對(duì)于Shell和Lua來(lái)說(shuō),對(duì)于變量有沒(méi)有定義來(lái)說(shuō),其實(shí)就是說(shuō)對(duì)變量有沒(méi)有賦值,有沒(méi)有攜帶有效值。
總結(jié)
以上是生活随笔為你收集整理的Lua——基本语法知识,从hello word开始的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C++四种类型强制转换——const_c
- 下一篇: Lua——table(表)的使用