我有一个由\n
分隔的字符串,并且我正在使用for
对此进行处理。但是我不希望for
循环到字符串的末尾,只希望for循环到下面的这段代码,但它不起作用。
for w=1,10 in webdata:gmatch("(.-)\n") do
--something
end
Lua中有两个不同的for
循环。您正在将它们混合在一起。
for
:for i=1,10 do -- or e.g. i=10,1,-1
-- do something
end
for
:for k,v in pairs(t) do -- or ipairs, or completely custom functions
-- do something
end
有关更多信息,请参阅:
为了实现您的目标,您可以用另一个迭代器包装gmatch
,或者...采用最简单直接的解决方案:计算已处理的行数:
local n = 1
for l in webdata:gmatch("(.-)\n") do
-- do something
n = n + 1
if n > 10 then
break
end
end
这不是最优雅的,但是有效。