2017-04-08 155 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