Lua 循环不正确

我试图设置一个循环,将 1000 行打印到文件中,但它却打印了 50000 行。它应该在 i 上加 5,在 c 上加 2,但它却在 c 上连续添加了 100 次 2,在 i 上添加了一次 5,然后又在 c 上添加了另外 100 次 2。 以下是代码:

local file = io.open("output.txt", "w")
for i=60,5055,5 do
    for c=0,100,2 do
        file:write("  - summon tnt ~" .. c .. " ~" .. c .. " ~" .. c .. " {Fuse:" .. i .. "}\n")
    end
end
file:close()
点赞
用户2420301
用户2420301
Well, your inner loop wil run 50 times for each outer loop, which runs a 1000 times, so 50'000 lines is what you can expect from this code.

嗯,你的内部循环将在每次外部循环中运行 50 次,而外部循环将运行 1000 次,因此你可以期望从这段代码中获得 50,000 行。

2017-04-08 09:17:49
用户3859595
用户3859595

问题描述

你所写的两个循环的计算结果为50000个文件写入操作。第一个for循环只有在内部循环完成50行时才会完成一次循环。因此,如果第一个循环运行1000次,内部循环运行50次,1000 x 50 = 50000。

你可以直接删除内部循环,并编写代码将1000行打印到输出文件中。

2017-04-08 09:29:44
用户7504558
用户7504558

你需要一个循环,并且在其中根据需要增加变量:

--
local c = 0
for i=60,5055,5 do
     if  c<100 then c = c + 2  else c=0 end
-- 写代码
end

这个想法如何?

2017-04-08 10:31:06