【问题标题】:Using for loop in Lua programming在 Lua 编程中使用 for 循环
【发布时间】:2019-10-31 20:27:29
【问题描述】:

我有一个由\n 分隔的字符串,我正在使用for 来处理它。但我不希望 for 循环到字符串的末尾,只希望 for 循环像下面这段代码一样,但它不起作用。

for w=1,10 in webdata:gmatch("(.-)\n") do 
    --something
end

【问题讨论】:

    标签: lua


    【解决方案1】:

    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
    

    这不是最优雅的,但它确实有效。

    【讨论】:

      猜你喜欢
      • 2022-01-27
      • 1970-01-01
      • 1970-01-01
      • 2011-11-28
      • 2022-01-28
      • 1970-01-01
      • 2019-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多