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] 25Probier 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 27Rechner zum Teilen der Rechnung
BegrüßungsnachrichtBenutzereingaben erfassen10FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion13Fortgeschrittene Vektoren
Vektor-Slicing und -IndizierungLogische IndizierungVektorarithmetik & RecyclingDer %in%-Operator2Variablen und Datentypen
Numerischer DatentypGanzzahliger DatentypZeichen-DatentypLogischer DatentypDatentypen überprüfenNamenskonventionenFehlende Werte: NAZusammenfassung – Variablen erstellen5Entscheidungen treffen
If-AnweisungIf - ElseWiederholung – Einfacher TaschenrechnerVerschachteltes If - Else8Schleifen
For-SchleifeWhile-SchleifeBreakNext (Continue)Wiederholung – FakultätSequenzgenerierung (seq, :)Verschachtelte SchleifenWiederholung – Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenGanzzahldivision und ModuloZuweisungsoperatorenRückblick – Einfache MathematikVergleichsoperatoren6Grundlegende Ein- und Ausgabe
Ausgabe mit printcat zur AusgabeAusgabe mit VariablenEingaben mit readline() lesenGrundlagen der TypkonvertierungRückblick – AltersrechnerRückblick – Wahr oder falsch9Funktionen
Eine Funktion deklarierenFunktionsargumenteRückgabewerteWiederholung – Sigma-FunktionWiederholung – ValidierungsfunktionStandardparameterwerteÜbe selbstständig: Online-R-Compiler