La dichiarazione break
salterà la linea dopo la for
, while
, o repeat
ciclo è in
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 cavillo di Lua:. break
deve venire prima di un end
, anche se non necessariamente la end
del ciclo da cui vuoi uscire, come puoi vedere qui.
Inoltre, se si desidera uscire dal ciclo su una condizione all'inizio o alla fine del ciclo, come sopra, spesso è possibile modificare il ciclo che si sta utilizzando per ottenere un effetto simile. Per esempio, in questo esempio potremmo mettere la condizione nel ciclo while
:
while turtle.getItemCount(16) < 64 do
if turtle.detect() then
turtle.dig()
end
end
Nota che sottilmente cambiato il comportamento un po 'là, come questo nuovo ciclo si fermerà subito quando si colpisce il limite di conteggio oggetto, senza continuare fino al detect()
diventa di nuovo true.
Ah, grazie! Ha aiutato molto l'errore – user1610406
() dovrebbe funzionare bene in questo caso, ma ho anche aggiunto la soluzione che è di migliore pratica. – user1704650
Grazie, anche se questo non funzionerà da una chiamata di funzione nel programma Lua. (Sto avendo lo stesso problema.) –