Menu
Coddy logo textTech

Standard-Parameterwerte

Teil des Abschnitts Grundlagen der R-Journey von Coddy — Lektion 51 von 78.

Manchmal möchten Sie, dass eine Funktion ein „Standard“-Verhalten hat, das bei Bedarf angepasst werden kann. Standardparameterwerte ermöglichen es Ihnen zu definieren, was ein Parameter sein soll, wenn der Aufrufer ihn nicht angibt.

Sie legen einen Standardwert fest, indem Sie = in der Funktionsdefinition verwenden:

greet <- function(name = "Guest") {
  print(paste("Hello,", name))
}

greet()
greet("Alice")

Ausgabe:

[1] "Hello, Guest"
[1] "Hello, Alice"

Wenn sie ohne Argument aufgerufen wird, verwendet die Funktion "Guest" als Standardwert. Wenn Sie einen Wert angeben, überschreibt dieser den Standardwert.

Sie können erforderliche und optionale Parameter mischen. Parameter mit Standardwerten sollten nach denen ohne Standardwerte stehen:

calculate_total <- function(price, tax_rate = 0.1) {
  return(price + (price * tax_rate))
}

print(calculate_total(100))
print(calculate_total(100, 0.2))

Ausgabe:

[1] 110
[1] 120

Hier ist price erforderlich, während tax_rate standardmäßig 10 % beträgt. Dies macht Ihre Funktionen flexibel – einfach zu verwenden in Standardfällen, aber bei Bedarf anpassbar.

challenge icon

Aufgabe

Einfach

Erstellen Sie eine Funktion namens calculate_shipping, die zwei Argumente entgegennimmt:

  • weight - das Gewicht des Pakets (erforderlich)
  • rate - die Kosten pro Gewichtseinheit (optional, Standardwert ist 5)

Die Funktion sollte die Versandkosten zurückgeben, berechnet als weight * rate.

Sie erhalten zwei Eingabezeilen:

  1. Ein Gewichtswert
  2. Entweder ein Ratensatz-Wert ODER das Wort default

Wenn die zweite Eingabe default ist, rufen Sie die Funktion nur mit dem Gewicht auf (unter Verwendung des Standard-Ratensatzes). Andernfalls rufen Sie die Funktion sowohl mit dem Gewicht als auch mit dem angegebenen Ratensatz auf.

Geben Sie das zurückgegebene Ergebnis aus.

Zum Beispiel, wenn die Eingaben wie folgt sind:

10
default

Sollte die Ausgabe wie folgt sein:

[1] 50

Wenn die Eingaben wie folgt sind:

10
3

Sollte die Ausgabe wie folgt sein:

[1] 30

Spickzettel

Sie können Standardparameterwerte in einer Funktion festlegen, indem Sie = in der Funktionsdefinition verwenden:

greet <- function(name = "Guest") {
  print(paste("Hello,", name))
}

greet()           # Verwendet den Standardwert: "Hello, Guest"
greet("Alice")    # Überschreibt den Standardwert: "Hello, Alice"

Wenn Sie erforderliche und optionale Parameter mischen, platzieren Sie Parameter mit Standardwerten hinter denen ohne:

calculate_total <- function(price, tax_rate = 0.1) {
  return(price + (price * tax_rate))
}

calculate_total(100)       # Verwendet den Standard-tax_rate: 110
calculate_total(100, 0.2)  # Benutzerdefinierter tax_rate: 120

Probier es selbst

# Eingabe lesen
con <- file("stdin", "r")
weight <- as.numeric(suppressWarnings(readLines(con, n = 1)))
rate_input <- suppressWarnings(readLines(con, n = 1))
close(con)

# TODO: Schreibe deinen Code unten
# 1. Definiere die Funktion calculate_shipping mit weight (erforderlich) und rate (optional, Standard = 5)
# 2. Überprüfe, ob rate_input "default" oder eine Zahl ist
# 3. Rufe die Funktion entsprechend auf und gib das Ergebnis aus
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