日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

中國最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2

lua教程

Lua 學習筆記之三(高階話題)

閱讀 (2350)

高階話題

1.迭代

1.1  實例代碼:

    --迭代
    local function enum(array)
        local index = 1
        return function()
            local ret = array[index]
            index = index + 1
            return ret
        end
    end

    local function foreach(array,action)
        for element in enum(array)do
            action(element)
        end
    end

    foreach({1,2,3},print)

輸出結果:

1

2

3

1.2  有關迭代的描述:

  • 定義

迭代是for語句的一種特殊形式,可以通過for語句驅動迭代函數(shù)對一個給定集合進行遍歷。正式、完備的語法說明較復雜,請參考Lua手冊。

  • 實現(xiàn)

如前面代碼所示:enum函數(shù)返回一個匿名的迭代函數(shù),for語句每次調用該迭代函數(shù)都得到一個值(通過element變量引用),若該值為nil,則for循環(huán)結束。 

2.協(xié)作線程 

2.1  實例代碼

    --線程
    local function producer()
        return coroutine.create(
        function(salt)
            local t = {1,2,3}
            for i = 1,#t do
                salt = coroutine.yield(t[i] + salt)
            end
        end
        )
    end

    function consumer(prod)
        local salt = 10
        while true do
            local running ,product = coroutine.resume(prod, salt)
            salt = salt*salt
            if running then
                print(product or "END!")
            else
                break
            end
        end
    end

    consumer(producer())

輸出結果:

11

102

10003

END!

2.2  有關協(xié)作線程的描述:

  • 創(chuàng)建協(xié)作線程

通過coroutine.create可以創(chuàng)建一個協(xié)作線程,該函數(shù)接收一個函數(shù)類型的參數(shù)作為線程的執(zhí)行體,返回一個線程對象。

  • 啟動線程

通過coroutine.resume可以啟動一個線程或者繼續(xù)一個掛起的線程。該函數(shù)接收一個線程對象以及其他需要傳遞給該線程的參數(shù)。線程可以通過線程函數(shù)的參數(shù)或者coroutine.yield調用的返回值來獲取這些參數(shù)。當線程初次執(zhí)行時,resume傳遞的參數(shù)通過線程函數(shù)的參數(shù)傳遞給線程,線程從線程函數(shù)開始執(zhí)行;當線程由掛起轉為執(zhí)行時,resume傳遞的參數(shù)以yield調用返回值的形式傳遞給線程,線程從yield調用后繼續(xù)執(zhí)行

  • 線程放棄調度

    線程調用coroutine.yield暫停自己的執(zhí)行,并把執(zhí)行權返回給啟動/繼續(xù)它的線程;線程還可利用yield返回一些值給后者,這些值以resume調用的返回值的形式返回。 

附錄 常用的Lua參考資料

lua 論壇(lua 中國開發(fā)者 luaer中國官司方網(wǎng)站)

Lua參考手冊(最正式、權威的Lua文檔)

Lua編程(在線版,同樣具權威性的Lua教科書)

Lua正式網(wǎng)站的文檔頁面(包含很多有價值的文檔資料鏈接)

Lua維基(最全面的Lua維基百科)

LuaForge(最豐富的Lua開源代碼基地) 

參考文獻《C/C++程序員的Lua快速入門》

關閉
程序員人生
主站蜘蛛池模板: 免费福利视频一区二区三区 | 成人在线免费视频观看 | 尤物网站在线 | 超碰在线影院 | 亚洲视频一区在线观看 | 国内精品久久久久久久影视简单 | 精品一区一区三区新区乱码 | 成人性生交大片免费看视频r | 国产精品久久久久久久久久久新郎 | 免费看男女www网站入口在线 | 日韩一区二区免费视频 | 国产精品66 | 日本高清视频在线播放 | 香蕉av777xxx色综合一区 | 免费黄色在线 | 久久久综合 | 国产一区二区三区在线 | 久热精品在线 | 国产日韩视频在线 | 欧美日韩在线免费 | 国产精品久久久久久久午夜片 | 日韩成人小视频 | free性中国hd国语page1 | 日韩一区二区三区视频在线观看 | 爱爱一级视频 | 在线国产区 | 91免费高清 | 欧美日韩不卡在线 | 亚洲性综合 | 一区二区国产视频 | 蜜臀91丨九色丨蝌蚪中文 | 精品一区二区免费视频 | 成人一级影片 | 夜夜艹日日艹 | 欧美亚洲在线观看 | 亚洲综合色婷婷 | 亚洲激情一区 | 在线一区二区视频 | 欧美日韩不卡在线 | 国产精品久久久av久久久 | 91在线亚洲 |