2017-04-08 156 views
1

我试图设置一个循环,在文件中打印1000行,但它打印50000行。它应该在c和i中加入5和2,但是它加上c到100次,再加5到i,然后再加2到另外100次。 下面的代码,Lua循环无法正常工作

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() 
+0

是的,这就是循环'i'循环'c'的目的,运行'i x c'次。 ((5055-60)/ 5)x((100-0)/ 2) – PeterMmm

回答

0

你需要一个周期,内部增加的变量,只要你想:

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

这样的想法?

+0

工作,谢谢 – PiggyPiglet

0

那么,你的内循环运行WIL每个外环,运行在1000倍50倍,所以50'000行是你可以从这个代码的期望。

0

你有两个回路的数学工程以50000的文件写入。每次内循环完成所有50行时,第一个for循环只完成。因此,如果第一个循环运行1000次,并且内部进行50次,则1000 x 50 = 50000.

您可以简单地删除内部循环,并将代码打印1000行输出到输出文件。

+0

但我需要c的内部循环。我怎样才能让它做我想做的事? – PiggyPiglet