«

»

dic 29

Print this Articolo

LUA – Ciclo While

Uno dei costrutti fondamentali della programmazione, insieme al FOR, e alle istruzioni condizionali (if / else), è appunto il ciclo while.

Esso ci permette di iterare un blocco di istruzioni fino a che è verificata una determinata condizione.

while <condizione> do
  <blocco di istruzioni>
end

Ed ora ecco un esempio con condizione sempre verificata:

while true do
  <blocco di istruzioni>
end

In questo caso il ciclo while non si fermerà mai, perché la condizione specificata, ovvero “true” rimarrà sempre verificata, in quanto true sarà sempre true (scusate per il gioco di parole).

Solitamente si utilizza una condizione che rimane verificata solo per un certo lasso di tempo, in modo tale da poter terminare l’operazione da eseguire, per esempio:

flag = true
a=0
b=20
while flag do
  if a<b then a=a+1 end    --fintanto che a è minore di b, a viene aumentata
  if a==b then flag=false end    --se a diventa uguale a b viene interrotto il ciclo
end

Negli esempi appena visti, la valutazione della condizione viene effettuata prima di eseguire il blocco di istruzioni, ma in LUA esiste anche una variante del ciclo while, con la quale viene prima eseguito il blocco di istruzioni e poi verificata la condizione, ecco il codice:

repeat
  <blocco di istruzioni>
until <condizione>

Dopo aver parlato di questi due metodi per iterare blocchi di istruzioni bisogna notare che sia nel primo che nel secondo metodo, se non si sta attenti a stabilire la condizione e anche quando essa smetta di essere verificata, le operazioni all’interno del ciclo potrebbero essere eseguite in modo errato.

_____________________________________________________________________________________________ Ti è piaciuto questo articolo ? Condividilo !

Permanent link to this article: http://taketheball.altervista.org/?p=585

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

Puoi usare i seguenti tag HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>