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] 120Hier 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.
Aufgabe
EinfachErstellen Sie eine Funktion namens calculate_shipping, die zwei Argumente entgegennimmt:
weight- das Gewicht des Pakets (erforderlich)rate- die Kosten pro Gewichtseinheit (optional, Standardwert ist5)
Die Funktion sollte die Versandkosten zurückgeben, berechnet als weight * rate.
Sie erhalten zwei Eingabezeilen:
- Ein Gewichtswert
- 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
defaultSollte die Ausgabe wie folgt sein:
[1] 50Wenn die Eingaben wie folgt sind:
10
3Sollte die Ausgabe wie folgt sein:
[1] 30Spickzettel
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: 120Probier 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 ausDiese 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