Ruggine - Loop

Potrebbero esserci casi in cui un blocco di codice deve essere eseguito ripetutamente. In generale, le istruzioni di programmazione vengono eseguite in sequenza: la prima istruzione in una funzione viene eseguita per prima, seguita dalla seconda e così via.

I linguaggi di programmazione forniscono varie strutture di controllo che consentono percorsi di esecuzione più complicati.

Un'istruzione loop ci consente di eseguire un'istruzione o un gruppo di istruzioni più volte. Di seguito è riportata la forma generale di un'istruzione loop nella maggior parte dei linguaggi di programmazione.

Rust fornisce diversi tipi di loop per gestire i requisiti di loop -

  • while
  • loop
  • for

Definite Loop

Un ciclo il cui numero di iterazioni è definito / fisso è definito ciclo definito. Ilfor loop è un'implementazione di un ciclo definito.

Per Loop

Il ciclo for esegue il blocco di codice per un numero di volte specificato. Può essere utilizzato per iterare su un insieme fisso di valori, come un array. La sintassi del ciclo for è la seguente

Sintassi

for temp_variable in lower_bound..upper_bound {
   //statements
}

Un esempio di ciclo for è mostrato di seguito

fn main(){
   for x in 1..11{ // 11 is not inclusive
      if x==5 {
         continue;
      }
      println!("x is {}",x);
   }
}

NOTE: che la variabile x è accessibile solo all'interno del blocco for.

Produzione

x is 1
x is 2
x is 3
x is 4
x is 6
x is 7
x is 8
x is 9
x is 10

Ciclo indefinito

Un ciclo indefinito viene utilizzato quando il numero di iterazioni in un ciclo è indeterminato o sconosciuto.

I cicli indefiniti possono essere implementati usando -

Suor n Nome e descrizione
1

While

Il ciclo while esegue le istruzioni ogni volta che la condizione specificata restituisce true

2

Loop

Il ciclo è un ciclo indefinito while (vero)

Illustrazione - per un po '

fn main(){
   let mut x = 0;
   while x < 10{
      x+=1;
      println!("inside loop x value is {}",x);
   }
   println!("outside loop x value is {}",x);
}

L'output è come mostrato di seguito:

inside loop x value is 1
inside loop x value is 2
inside loop x value is 3
inside loop x value is 4
inside loop x value is 5
inside loop x value is 6
inside loop x value is 7
inside loop x value is 8
inside loop x value is 9
inside loop x value is 10
outside loop x value is 10

Illustrazione −loop

fn main(){
   //while true

   let mut x = 0;
   loop {
      x+=1;
      println!("x={}",x);

      if x==15 {
         break;
      }
   }
}

Il breakviene utilizzata per estrarre il controllo da un costrutto. L'utilizzo dell'interruzione in un ciclo causa l'uscita del programma dal ciclo.

Produzione

x=1
x=2
x=3
x=4
x=5
x=6
x=7
x=8
x=9
x=10
x=11
x=12
x=13
x=14
x=15

Continua dichiarazione

L'istruzione continue salta le istruzioni successive nell'iterazione corrente e riporta il controllo all'inizio del ciclo. A differenza dell'istruzione break, continue non esce dal ciclo. Termina l'iterazione corrente e avvia l'iterazione successiva.

Di seguito viene fornito un esempio dell'istruzione continue.

fn main() {

   let mut count = 0;

   for num in 0..21 {
      if num % 2==0 {
         continue;
      }
      count+=1;
   }
   println! (" The count of odd values between 0 and 20 is: {} ",count);
   //outputs 10
}

L'esempio sopra mostra il numero di valori pari compresi tra 0 e 20. Il ciclo esce dall'iterazione corrente se il numero è pari. Ciò si ottiene utilizzando l'istruzione continue.

Il conteggio dei valori dispari tra 0 e 20 è 10