【发布时间】:2019-10-31 20:27:29
【问题描述】:
我有一个由\n 分隔的字符串,我正在使用for 来处理它。但我不希望 for 循环到字符串的末尾,只希望 for 循环像下面这段代码一样,但它不起作用。
for w=1,10 in webdata:gmatch("(.-)\n") do
--something
end
【问题讨论】:
标签: lua
我有一个由\n 分隔的字符串,我正在使用for 来处理它。但我不希望 for 循环到字符串的末尾,只希望 for 循环像下面这段代码一样,但它不起作用。
for w=1,10 in webdata:gmatch("(.-)\n") do
--something
end
【问题讨论】:
标签: lua
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
这不是最优雅的,但它确实有效。
【讨论】: