Menu
Coddy logo textTech

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] 8

Anstatt 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] 16

In 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.

challenge icon

Aufgabe

Einfach

Erstellen 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] 8

Wenn die Eingaben 5 und 2 sind, sollte die Ausgabe wie folgt aussehen:

[1] 25

Spickzettel

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] 8

Zurückgegebene Werte können direkt in Ausdrücken verwendet werden:

double <- function(x) {
  return(x * 2)
}

print(double(5) + double(3))  # [1] 16

In 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)
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen