Lua中是否有类似xrange的功能?
Lua中是否有类似xrange(Python的)的函数,因此我可以这样做: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(
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