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

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

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

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

開滿天機(jī) 2019-04-14 10:08:38
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上,按理來說element應(yīng)該是個(gè)函數(shù),為什么這里直接輸出函數(shù)本身就執(zhí)行了,不是應(yīng)該加個(gè)括號(hào)才執(zhí)行嗎?
查看完整描述

2 回答

?
慕仙森

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

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

查看完整回答
反對 回復(fù) 2019-04-15
  • 2 回答
  • 0 關(guān)注
  • 809 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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