<option id="mwy0y"><strong id="mwy0y"></strong></option>
  • <ul id="mwy0y"><sup id="mwy0y"></sup></ul>
  • <ul id="mwy0y"></ul>
  • <del id="mwy0y"><dfn id="mwy0y"></dfn></del><ul id="mwy0y"><sup id="mwy0y"></sup></ul>
  • <abbr id="mwy0y"></abbr>

    千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

    400-811-9990
    手機(jī)站
    千鋒教育

    千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

    千鋒教育

    掃一掃進(jìn)入千鋒手機(jī)站

    領(lǐng)取全套視頻
    千鋒教育

    關(guān)注千鋒學(xué)習(xí)站小程序
    隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

    上海
    • 北京
    • 鄭州
    • 武漢
    • 成都
    • 西安
    • 沈陽(yáng)
    • 廣州
    • 南京
    • 深圳
    • 大連
    • 青島
    • 杭州
    • 重慶
    當(dāng)前位置:長(zhǎng)沙千鋒IT培訓(xùn)  >  技術(shù)干貨  >  lua編譯器和lua解釋器有什么區(qū)別?

    lua編譯器和lua解釋器有什么區(qū)別?

    來(lái)源:千鋒教育
    發(fā)布人:xqq
    時(shí)間: 2023-10-13 22:53:14

    一、lua編譯器和lua解釋器的區(qū)別

    lua編譯器把lua腳本編譯成lua虛擬機(jī)的指令。lua解釋器除了有編譯器外還有虛擬機(jī),可以執(zhí)行編譯后的指令。lua是一門(mén)精妙簡(jiǎn)潔,而功能強(qiáng)大的語(yǔ)言,學(xué)習(xí)和掌握它的核心機(jī)制有著重要的意義。

    Lua作用域

    在Lua語(yǔ)言中聲明的變量默認(rèn)是全局變量,聲明局部變量需要使用local關(guān)鍵字,和其他語(yǔ)言相比這有點(diǎn)特殊。

    a = 10

    function func()

    ??? b = 10?? 仍然是全局變量

    ??? local c = 20 ?局部變量

    end

    func()

    ?

    print(a + b)??? –> 20,即可以獲取b的值

    print(c)??? –> nil

    也就是說(shuō)在lua中只要變量沒(méi)定義成local,都可以在全局中獲取它的值。對(duì)于局部變量,也分為函數(shù)作用域和塊作用域。下面例子中a的作用域在fun函數(shù)內(nèi)部,而b的作用域?yàn)閕f語(yǔ)句塊內(nèi)。

    function? fun()

    ??? local a = 1

    ??? if a == 1

    ??? then

    ??????? local b = 1

    ??????? a = a + 1

    ??????? print(b)??? — 1

    ??? end

    ?

    ??? print(a)??? — 2

    ??? print(b)??? — nil,超出塊作用域

    end

    ?

    fun()

    ?

    print(a)??? — nil,超出函數(shù)作用域

    延伸閱讀:

    二、生命周期

    生命周期是指變量可以被訪問(wèn)的時(shí)間段,也就是從分配內(nèi)存給它到回收它的內(nèi)存中間的一段時(shí)間。變量的生命周期分為兩種

    一種是在棧中分配內(nèi)存的變量,它的生命周期隨著作用域的結(jié)束而結(jié)束,上面案例中的變量都符合這個(gè)規(guī)則。另一種是在堆中分配內(nèi)存的變量,它的生命周期與作用域不一致,比如在堆中申請(qǐng)的內(nèi)存,退出作用域后仍然存在。Lua采用了自動(dòng)內(nèi)存管理,也就是說(shuō)我們不用操心Lua創(chuàng)建的對(duì)象是怎么分配和回收的。
    聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

    猜你喜歡LIKE

    怎么自定義Visual Studio代碼折疊識(shí)別的區(qū)域?

    2023-10-13

    hcip和hcnp有什么區(qū)別?

    2023-10-13

    layui和vue的區(qū)別?

    2023-10-13

    最新文章NEW

    cs和bs區(qū)別?

    2023-10-13

    DOF和HP有什么區(qū)別?

    2023-10-13

    hold和host的區(qū)別?

    2023-10-13

    相關(guān)推薦HOT

    更多>>

    快速通道 更多>>

    最新開(kāi)班信息 更多>>

    網(wǎng)友熱搜 更多>>