Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果没有要迭代的内容,lua迭代器工厂应该返回什么_Lua_Luajit - Fatal编程技术网

如果没有要迭代的内容,lua迭代器工厂应该返回什么

如果没有要迭代的内容,lua迭代器工厂应该返回什么,lua,luajit,Lua,Luajit,我正在实现一个lua迭代器,我想知道迭代器工厂(创建用于迭代可迭代对象的闭包的函数,请参见list\u iteron)在没有可迭代对象的情况下应该返回什么 例如,假设我将实现一个列表类型,而我的列表对象根本没有任何条目。因此,我假设myiterator中I的主体…。。。结束 只是从未访问过,脚本执行将继续,就像什么都没有发生一样 此时,我返回nil,Lua(jit)抱怨试图调用nil值。如果我不返回返回值,也会发生同样的情况。您可以返回一个返回nil的闭包,如下所示: function nil_

我正在实现一个lua迭代器,我想知道迭代器工厂(创建用于迭代可迭代对象的闭包的函数,请参见
list\u iter
on)在没有可迭代对象的情况下应该返回什么

例如,假设我将实现一个列表类型,而我的列表对象根本没有任何条目。因此,我假设myiterator中I的主体
。。。结束 只是从未访问过,脚本执行将继续,就像什么都没有发生一样


此时,我返回
nil
,Lua(jit)抱怨
试图调用nil值。如果我不返回返回值,也会发生同样的情况。

您可以返回一个返回
nil
的闭包,如下所示:

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