next (continue)
Fa parte della sezione Fondamenti del percorso R di Coddy. Lezione 41 di 78.
Mentre break esce completamente da un ciclo, a volte vuoi solo saltare l’iterazione corrente e continuare con quella successiva. L’istruzione next fa esattamente questo.
for (i in 1:5) {
if (i == 3) {
next
}
print(i)
}Output:
[1] 1
[1] 2
[1] 4
[1] 5Quando i è uguale a 3, l'istruzione next salta il resto di quell'iterazione, quindi 3 non viene mai stampato. Il ciclo prosegue quindi normalmente con 4 e 5.
È utile quando vuoi escludere determinati valori senza interrompere l'intero ciclo. Ad esempio, stampando solo i numeri pari:
for (num in 1:6) {
if (num %% 2 != 0) {
next
}
print(num)
}Output:
[1] 2
[1] 4
[1] 6Qui, i numeri dispari vengono saltati usando next, e vengono stampati solo i numeri pari. La differenza fondamentale rispetto a break è che il ciclo continua a essere eseguito: salta solo alcune iterazioni.
Sfida
FacileLeggi un numero n dall'input. Usa un ciclo for per iterare da 1 a n e stampa solo i numeri che non sono divisibili per 4.
Usa l'istruzione next per saltare i numeri divisibili per 4 e stampa tutti gli altri numeri usando print().
Ad esempio, se l'input è 10, l'output dovrebbe essere:
[1] 1
[1] 2
[1] 3
[1] 5
[1] 6
[1] 7
[1] 9
[1] 10Nota che 4 e 8 vengono saltati perché sono divisibili per 4.
Provalo tu
# Leggi l'input
con <- file("stdin", "r")
n <- as.integer(suppressWarnings(readLines(con, n = 1)))
# TODO: Scrivi il tuo codice qui sotto
# Usa un ciclo for per iterare da 1 a n
# Usa l'istruzione next per saltare i numeri divisibili per 4
# Stampa tutti gli altri numeri usando print()Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 2
Operatori logici (AND, OR)Operatori logici Parte 2 (NOT)Ripasso - Logica sempliceLogica vettorializzata Parte 1Logica vettorializzata Parte 27Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire input dell'utente10FizzBuzz con una variante
Panoramica del giocoLa funzione FizzBuzz13Vettori: argomenti avanzati
Slicing e indicizzazione dei vettoriIndicizzazione logicaAritmetica dei vettori e ricicloL’operatore %in%2Variabili e tipi di dati
Tipo di dato numericoTipo di dato interoTipo di dato carattereTipo di dato logicoControllo dei tipi di datoConvenzioni di denominazioneValori mancanti: NARiepilogo - Creazione di variabili8Cicli
Ciclo forCiclo whilebreaknext (continue)Riepilogo - FattorialeGenerazione di sequenze (seq, :)Cicli annidatiRiepilogo - Input dinamico3Operatori Parte 1
Operatori aritmeticiDivisione intera e moduloOperatori di assegnazioneRiepilogo - Matematica sempliceOperatori di confronto6I/O di base
Stampare l'outputcat per l'outputOutput con variabiliLeggere l'input con readline()Nozioni di base sulla conversione dei tipiRiepilogo - Calcolatore dell'etàRiepilogo - Vero o falso9Funzioni
Dichiarare una funzioneArgomenti della funzioneValori di ritornoRiepilogo - Funzione SigmaRiepilogo - Funzione di validazioneValori predefiniti dei parametriEsercitati da solo: Compilatore R online