La declaración break
saltará a la línea después de la for
, while
o repeat
bucle está en
while true do
if turtle.detect() then
if turtle.getItemCount(16) == 64 then
break
end
turtle.dig() -- digs block in front of it
end
end
-- break skips to here
un capricho de lua:. break
tiene que venir justo antes de un end
, aunque no necesariamente la end
del bucle del que desea salir, como puede ver aquí.
Además, si desea salir del bucle en una condición al inicio o al final del bucle, como se indicó anteriormente, a menudo puede cambiar el bucle que está utilizando para obtener un efecto similar. Por ejemplo, en este ejemplo podríamos poner la condición en el bucle while
:
while turtle.getItemCount(16) < 64 do
if turtle.detect() then
turtle.dig()
end
end
Tenga en cuenta que sutilmente he cambiado el comportamiento un poco allí, ya que este nuevo bucle se detendrá de inmediato cuando golpea el límite recuento de elementos, sin continuar hasta que detect()
vuelva a ser cierto.
¡Ah, gracias! Ayudó mucho – user1610406
error() debería funcionar bien en este caso, pero también agregué la solución que es de mejor práctica. – user1704650
Gracias, aunque esto no funcionará desde dentro de una llamada de función en el programa Lua. (Estoy teniendo el mismo problema.) –