LoslegenKostenlos starten

Rückgabewerte und Export von Funktionen

Wenn du den Rückgabewert einer Funktion dokumentierst, legst du fest, was Nutzerinnen und Nutzer als Ausgabe der Funktion erwarten können – ob Daten, eine Zahl, ein Vektor aus Strings oder ein anderes R-Ergebnis.

Zwar ist die NAMESPACE-Datei dafür zuständig, exportierte Funktionen zu kennzeichnen, aber du erzeugst diese Datei mit roxygen2-Tags. Durch diese Tags kannst du direkt bei der Dokumentation sehen, ob Nutzerinnen und Nutzer Zugriff auf eine Funktion haben. Du markierst eine Funktion zum Export im roxygen2-Header. Dieser unkomplizierte Ansatz stellt sicher, dass du in der Dokumentation selbst klar angeben kannst, welche Funktionen zur Verwendung bereitstehen.

Diese Übung ist Teil des Kurses

<Kurs>R-Pakete entwickeln</Kurs>
Kurs ansehen

Übungsanweisungen

  • Dokumentiere den Rückgabewert mit der folgenden Beschreibung: "A numeric distance value in the unit specified as `unit_to`."
  • Exportiere die Funktion.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

#' Convert between distances
#'
#' Performs the conversion based on specified `unit_from` and `unit_to` values.
#'
#' @param dist_value A numerical distance value to be converted.
#' @param unit_from A character string of the distance unit to convert from 
#' @param unit_to A character string of the distance unit to convert to
# Add returning value description and tag
___
# Export this function
___
dist_converter <- function(dist_value, unit_from, unit_to) {
  if (unit_from == "feet" && unit_to == "meters") {
    return(dist_value / 3.28)
  } else if (unit_from == "meters" && unit_to == "feet") {
    return(dist_value * 3.28)
  } else if (unit_from == unit_to) {
    warning("unit_from and unit_to are the same, returning dist_value")
    return(dist_value)
  } else {
    stop("This function only supports conversions between feet and meters.")
  }
}
Code bearbeiten und ausführen