# Note that these are trivial examples for pedagogical purposes. Due to their
# trivial nature, most of these examples can be implemented more concisely
# using built-in R features.
# Optional
#reciprocal <- function(...) UseFunction('reciprocal', ...)
guard(reciprocal.1, is.numeric(x) && x != 0)
ensure(reciprocal.1, sign(result) == sign(x))
reciprocal.1 <- function(x) 1 / x
guard(reciprocal.2, is.character(x))
reciprocal.2 <- function(x) reciprocal(as.numeric(x))
reciprocal(4)Run the code above in your browser using DataLab