gpt4 book ai didi

lua - 如果没有要迭代的东西,lua 迭代器工厂应该返回什么

转载 作者:行者123 更新时间:2023-12-04 20:10:09 25 4
gpt4 key购买 nike

我正在实现一个 lua 迭代器,我想知道迭代器工厂(创建用于迭代可迭代对象的闭包的函数,参见 list_iter on http://www.lua.org/pil/7.1.html )应该在没有任何迭代的情况下返回。

例如。假设我将实现一个列表类型,而我的列表对象根本没有任何条目。所以我假设 body ...for i in myiterator do ... end只是从未访问过,脚本继续执行,就好像什么也没发生一样。

此刻我回nil Lua(jit) 提示 attempt to call a nil value .如果我不返回返回值,也会发生同样的情况。

最佳答案

你可以返回一个返回 nil 的闭包像这样:

function nil_iter()
return function() return nil end
end

关于lua - 如果没有要迭代的东西,lua 迭代器工厂应该返回什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18574888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com