Rückgabewerte
Teil des Abschnitts Grundlagen der R-Journey von Coddy — Lektion 48 von 78.
Bisher haben unsere Funktionen die Ausgabe direkt ausgegeben. Aber oft möchten Sie, dass eine Funktion einen Wert berechnet und diesen zurückgibt, damit Sie ihn an anderer Stelle in Ihrem Code verwenden können. Hier kommen Rückgabewerte ins Spiel.
Verwenden Sie die return()-Funktion, um einen Wert aus Ihrer Funktion zurückzugeben:
add <- function(a, b) {
return(a + b)
}
result <- add(5, 3)
print(result)Ausgabe:
[1] 8Anstatt innerhalb der Funktion eine Ausgabe zu machen, geben wir die Summe zurück. Der zurückgegebene Wert kann dann in einer Variablen gespeichert, in Berechnungen verwendet oder an andere Funktionen übergeben werden.
Dies macht Funktionen viel vielseitiger:
double <- function(x) {
return(x * 2)
}
print(double(5) + double(3))Ausgabe:
[1] 16In R gibt die Funktion automatisch den zuletzt ausgewerteten Ausdruck zurück, wenn Sie return() nicht verwenden. Die explizite Verwendung von return() macht Ihren Code jedoch übersichtlicher und ist besonders nützlich, wenn Sie eine Funktion vorzeitig beenden möchten.
Aufgabe
EinfachErstellen Sie eine Funktion namens calculate_power, die zwei Argumente entgegennimmt: base und exponent. Die Funktion sollte das Ergebnis der Potenzierung der Basis mit dem Exponenten (unter Verwendung des ^-Operators) zurückgeben.
Lesen Sie zwei Zahlen aus der Eingabe ein, konvertieren Sie diese in numerische Werte und rufen Sie Ihre Funktion auf. Speichern Sie den zurückgegebenen Wert in einer Variablen namens result und geben Sie result anschließend aus.
Wenn die Eingaben beispielsweise 2 und 3 sind, sollte die Ausgabe wie folgt aussehen:
[1] 8Wenn die Eingaben 5 und 2 sind, sollte die Ausgabe wie folgt aussehen:
[1] 25Spickzettel
Funktionen können Werte mit der Funktion return() zurückgeben. Dies ermöglicht es Ihnen, das Ergebnis in einer Variablen zu speichern oder es in anderen Operationen zu verwenden:
add <- function(a, b) {
return(a + b)
}
result <- add(5, 3)
print(result) # [1] 8Zurückgegebene Werte können direkt in Ausdrücken verwendet werden:
double <- function(x) {
return(x * 2)
}
print(double(5) + double(3)) # [1] 16In R geben Funktionen automatisch den zuletzt ausgewerteten Ausdruck zurück, wenn return() nicht verwendet wird. Die explizite Verwendung von return() macht den Code jedoch übersichtlicher und ermöglicht ein vorzeitiges Verlassen von Funktionen.
Probier es selbst
# Eingabe lesen
con <- file("stdin", "r")
base <- as.numeric(suppressWarnings(readLines(con, n = 1)))
exponent <- as.numeric(suppressWarnings(readLines(con, n = 1)))
# TODO: Erstelle eine Funktion namens calculate_power, die base und exponent entgegennimmt
# und base hoch exponent unter Verwendung des ^ Operators zurückgibt
# TODO: Rufe deine Funktion mit den Eingabewerten auf und speichere das Ergebnis in 'result'
# Das Ergebnis ausgeben
print(result)Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren (AND, OR)Logische Operatoren Teil 2 (NOT)Wiederholung – Einfache LogikVektorisierte Logik Teil 1Vektorisierte Logik Teil 27Rechnungs-Split-Rechner
WillkommensnachrichtBenutzereingaben abfragen10FizzBuzz mit einer Besonderheit
SpielübersichtDie FizzBuzz-Funktion13Vektoren für Fortgeschrittene
Vektor-Slicing und IndizierungLogische IndizierungVektorarithmetik & RecyclingDer %in%-Operator2Variablen und Datentypen
Numerischer DatentypGanzzahl-DatentypZeichen-DatentypLogischer DatentypDatentypen prüfenBenennungskonventionenFehlende Werte: NAZusammenfassung – Variablenerstellung5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachteltes If - Else8Schleifen
For-SchleifeWhile-SchleifeBreakNext (Continue)Rückblick - FakultätSequenzgenerierung (seq, :)Verschachtelte SchleifenRückblick - Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenGanzzahlige Division und ModuloZuweisungsoperatorenWiederholung - Einfache MathematikVergleichsoperatoren6Grundlagen der Ein- und Ausgabe
Print-AusgabeCat zur AusgabeAusgabe mit VariablenEingabe lesen mit readline()Grundlagen der TypumwandlungWiederholung – AltersrechnerWiederholung – Wahr oder Falsch9Funktionen
Funktionen deklarierenFunktionsargumenteRückgabewerteWiederholung - Sigma-FunktionWiederholung - ValidierungsfunktionStandard-Parameterwerte