Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/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中是否有类似xrange的功能?_Lua_Xrange - Fatal编程技术网

Lua中是否有类似xrange的功能?

Lua中是否有类似xrange的功能?,lua,xrange,Lua,Xrange,Lua中是否有类似xrange(Python的)的函数,因此我可以这样做: for i in xrange(10) do print(i) end 这与另一个问题不同,因为他正在寻找一个条件测试人员,但我不是在寻找一个条件测试人员。如果你想迭代数字: for i = 0,9 do print(i) end 另一方面,您可以创建自己的迭代器: function range(from, to, step) step = step or 1 return function(

Lua中是否有类似xrange(Python的)的函数,因此我可以这样做:

for i in xrange(10) do
    print(i)
end

这与另一个问题不同,因为他正在寻找一个条件测试人员,但我不是在寻找一个条件测试人员。

如果你想迭代数字:

for i = 0,9 do
    print(i)
end
另一方面,您可以创建自己的迭代器:

function range(from, to, step)
  step = step or 1
  return function(_, last)
    local next = last + step
    if step > 0 and next < to or step < 0 and next > to or step == 0 then
      return next
    end
  end, nil, from - step
end
功能范围(从、到、步)
步骤=步骤或1
返回函数(最后一个)
本地下一步=最后一步+步骤
如果步骤>0和下一步<到或步骤<0和下一步>到或步骤==0,则
下一个返回
结束
结束,无,开始-步骤
结束
并使用它:
对于范围(0,10)内的i,请执行打印(i)结束

您还可以看到功能xrange(a、b、step) 步骤=步骤或1 如果b=nil,那么a,b=1,a结束 如果步骤==0,则错误('ValueError:xrange()arg 3不能为零')结束 如果a+step如果@scrapsedcola No可能是重复的,那么它与另一个问题不同,因为他正在寻找一个条件测试仪,而我不是在寻找一个条件测试仪。答案提供了一种获取一系列数字的方法。除非您真的认为lua中会有一个内置函数动态存储列表,而不是创建一个静态列表,否则var=2,20 do的
就是您问题的答案。您需要指定要查找的xrange函数的哪些功能xrange(n)返回字符串.gmatch(“.”):rep(n-1),“()”)end
function xrange(a,b,step)
  step = step or 1
  if b == nil then a, b = 1, a end
  if step == 0 then error('ValueError: xrange() arg 3 must not be zero') end
  if a + step < a then return function() end end
  a = a - step
  return function()
           a = a + step
           if a <= b then return a end
         end
end