R durante il ciclo


Cicli

I loop possono eseguire un blocco di codice fintanto che viene raggiunta una condizione specificata.

I loop sono utili perché fanno risparmiare tempo, riducono gli errori e rendono il codice più leggibile.

R ha due comandi di ciclo:

  • while loop
  • for loop

R While Loops

Con il whileciclo possiamo eseguire un insieme di istruzioni purché una condizione sia VERO:

Esempio

Stampa ise iè inferiore a 6:

i <- 1
while (i < 6) {
  print(i)
  i <- i + 1
}

Nell'esempio sopra, il ciclo continuerà a produrre numeri compresi tra 1 e 5. Il ciclo si fermerà a 6 perché 6 < 6è FALSO.

Il whileciclo richiede che le variabili rilevanti siano pronte, in questo esempio dobbiamo definire una variabile di indicizzazione, i, che impostiamo a 1.

Nota: ricordati di incrementare i, altrimenti il ​​ciclo continuerà per sempre.


Rottura

Con l' breakistruzione, possiamo interrompere il ciclo anche se la condizione while è TRUE:

Esempio

Uscire dal ciclo se iè uguale a 4.

i <- 1
while (i < 6) {
  print(i)
  i <- i + 1
  if (i == 4) {
    break
  }
}

Il ciclo si fermerà a 3 perché abbiamo scelto di terminare il ciclo utilizzando l' breakistruzione quando iè uguale a 4 ( i == 4).


Prossimo

Con l' nextistruzione, possiamo saltare un'iterazione senza terminare il ciclo:

Esempio

Salta il valore di 3:

i <- 0
while (i < 6) {
  i <- i + 1
  if (i == 3) {
    next
  }
  print(i)
}

Quando il ciclo supera il valore 3, lo salterà e continuerà a scorrere.


Yahtzee!

If .. Else combinato con un ciclo While

Per dimostrare un esempio pratico, diciamo che giochiamo a Yahtzee!

Esempio

Stampa "Yahtzee!" Se il numero dei dadi è 6:

dice <- 1
while (dice <= 6) {
  if (dice < 6) {
    print("No Yahtzee")
  } else {
    print("Yahtzee!")
  }
  dice <- dice + 1
}

Se il ciclo supera i valori compresi tra 1 e 5, stampa "No Yahtzee". Ogni volta che supera il valore 6, stampa "Yahtzee!".