第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

關(guān)于lua閉包的一個(gè)小問(wèn)題

關(guān)于lua閉包的一個(gè)小問(wèn)題

qq_笑_17 2019-05-31 07:02:00
array = {"Lua", "Tutorial"}function elementIterator (collection)local index = 0local count = #collection-- 閉包函數(shù)return function ()index = index + 1if index <= countthen-- 返回迭代器的當(dāng)前元素return collection[index]endendendfor element in elementIterator(array)doprint(element)end我比較不理解的就是:迭代函數(shù)elementIterator閉包返回了一個(gè)匿名函數(shù),被賦到了element上,按理來(lái)說(shuō)element應(yīng)該是個(gè)函數(shù),為什么這里直接輸出函數(shù)本身就執(zhí)行了,不是應(yīng)該加個(gè)括號(hào)才執(zhí)行嗎?
查看完整描述

2 回答

?
智慧大石

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊

應(yīng)該是屬于符合手冊(cè)規(guī)定的迭代器寫(xiě)法
這里elementIterator是迭代工廠,相當(dāng)于一個(gè)提供狀態(tài)的對(duì)象
返回的function()閉包是才是迭代器,返回每個(gè)值
而for或while直接在使用迭代器返回每個(gè)值,所以element不會(huì)等同于迭代器函數(shù)而是各個(gè)值..

查看完整回答
反對(duì) 回復(fù) 2019-06-01
  • 2 回答
  • 0 關(guān)注
  • 634 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)