官术网_书友最值得收藏!

3.5 變量

Lua語(yǔ)言里的變量有作用域的概念,分為局部變量和全局變量,名字區(qū)分大小寫。

局部變量需要使用關(guān)鍵字“l(fā)ocal”聲明,作用域僅限本代碼塊(文件內(nèi)或語(yǔ)句塊內(nèi)),沒有關(guān)鍵字“l(fā)ocal”聲明的變量都是全局變量,而且不需要聲明就可以直接使用:

x = 1                             -- 使用一個(gè)全局變量x,賦值為1,全局可見
local str = 'matrix'              -- 使用一個(gè)局部變量str,僅此文件內(nèi)可見
do                                -- 開始一個(gè)代碼塊
    local pi = 3.14               -- 局部變量pi,僅在此代碼塊內(nèi)可見
end                               -- 代碼塊結(jié)束
print(type(pi))                   -- 局部變量pi消失,訪問的是全局變量pi

變量如果沒有顯式賦值,那么它的值就是nil,所以代碼的最后一行會(huì)輸出“nil”。

在Lua里應(yīng)當(dāng)盡量少使用全局變量,多使用局部變量。局部變量不僅很好地控制了變量的作用域,避免全局名字沖突,而且因?yàn)椤熬植炕保忉屍鞑檎业乃俣纫哺臁?img alt="實(shí)際上Lua全局變量存放在一個(gè)名為“_G”的表里。" class="qqreader-footnote" src="https://epubservercos.yuewen.com/D91FDF/13916125603778706/epubprivate/OEBPS/Images/note.png?sign=1755262377-veV3FXKgEU22rFAcc8xDC0ZpumeNDdTK-0-b9e6e0ec7201fbd528f35e3c9c165f09">

一個(gè)比較常用的全局變量是:“_”(下畫線,也是合法的變量名),通常當(dāng)作“占位符”,在不想專門起名來保存某些值時(shí)就可以使用“_”來暫存并忽略。

Lua語(yǔ)言里沒有“常量”,實(shí)踐中我們通常用全大寫名字的變量來表示常量,例如:

local MAX_COUNT = 1000           -- 全大寫的變量,提醒開發(fā)者應(yīng)該當(dāng)作常量來使用
主站蜘蛛池模板: 新营市| 蒙阴县| 龙游县| 土默特右旗| 拜泉县| 新丰县| 黔东| 肥西县| 彝良县| 错那县| 沙田区| 安达市| 团风县| 南乐县| 阳新县| 饶河县| 无极县| 广德县| 三门峡市| 阳山县| 宜阳县| 阿城市| 平罗县| 类乌齐县| 陆河县| 郁南县| 高阳县| 青铜峡市| 临澧县| 乌兰察布市| 迭部县| 洞头县| 尼玛县| 商都县| 竹山县| 双桥区| 青冈县| 广西| 新绛县| 江阴市| 曲阜市|