Valori di ritorno
Fa parte della sezione Fondamenti del percorso R di Coddy. Lezione 48 di 78.
Finora, le nostre funzioni hanno stampato direttamente l'output. Ma spesso vuoi che una funzione calcoli un valore e te lo restituisca, così puoi usarlo altrove nel tuo codice. È qui che entrano in gioco i valori restituiti.
Usa la funzione return() per restituire un valore dalla tua funzione:
add <- function(a, b) {
return(a + b)
}
result <- add(5, 3)
print(result)Output:
[1] 8Invece di stampare all'interno della funzione, restituiamo la somma. Il valore restituito può quindi essere memorizzato in una variabile, utilizzato nei calcoli o passato ad altre funzioni.
Questo rende le funzioni molto più versatili:
double <- function(x) {
return(x * 2)
}
print(double(5) + double(3))Output:
[1] 16In R, se non usi return(), la funzione restituisce automaticamente l'ultima espressione valutata. Tuttavia, usare return() in modo esplicito rende il codice più chiaro ed è particolarmente utile quando vuoi uscire anticipatamente da una funzione.
Sfida
FacileCrea una funzione chiamata calculate_power che accetta due argomenti: base ed exponent. La funzione dovrebbe restituire il risultato dell’elevamento di base alla potenza dell’esponente (usando l’operatore ^).
Leggi due numeri dall’input, convertili in valori numerici e chiama la tua funzione. Memorizza il valore restituito in una variabile chiamata result, quindi stampa result.
Per esempio, se gli input sono 2 e 3, l’output dovrebbe essere:
[1] 8Se gli input sono 5 e 2, l’output dovrebbe essere:
[1] 25Provalo tu
# Leggi l'input
con <- file("stdin", "r")
base <- as.numeric(suppressWarnings(readLines(con, n = 1)))
exponent <- as.numeric(suppressWarnings(readLines(con, n = 1)))
# TODO: Crea una funzione chiamata calculate_power che accetti base ed exponent
# e restituisca base elevato alla potenza exponent usando l'operatore ^
# TODO: Chiama la tua funzione con i valori di input e memorizza il risultato in 'result'
# Visualizza il risultato
print(result)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