重复直到循环后如何设置变量?

How do i set variable after repeat until loop?

我对我的代码有疑问。我目前无法测试它所以我想我会问。 (对于上下文,我是 lua 的新手)希望我没有问重复的问题,或类似的问题。

这是我目前的代码

write("Column: ")
local column = tonumber( read() )
write("Row: ")
local row = tonumber( read() )
local x = 0
local y = 0

function digforward(str)
    repeat
        turtle.dig()
        turtle.forward()
        x = x+1
    until x == column

所以在repeat until循环结束后,我该怎么做才能将变量x设置回0?我知道 x = 0 通常会这样做,但我想这样做,当你 运行 函数直到 x = 列然后将 x 设置为 0.

此外,您知道这是游戏中计算机的代码。 (来自 computercraft mod for minecraft)

在这种情况下,最好只使用数字 for 循环:

for x = 1, column do
   turtle.dig()
   turtle.forward()
end

还有一个额外的小东西:

for x = 1, column do
   while not turtle.forward() do
      turtle.dig()
   end
end

这可以确保重试,直到乌龟真正设法移动,例如沙块在挖掘后立即掉落。当敌人阻挡移动时,您也可以发动攻击以备不时之需。