С возвращаемым значением

Классы / Методы

new_calc <- function() {
  structure(list(), class = "Calc")
}

# A generic picks the method by class
get_sum <- function(calc, ...) {
  UseMethod("get_sum")
}

get_sum.Calc <- function(calc, n1, n2, ...) {
  n1 + n2
}

calc <- new_calc()
sum1 <- get_sum(calc, 5, 3)
# sum1 = 8

sum2 <- get_sum(calc, 2, 3)
# sum2 = 5

cat("sum1 =", sum1, "\n")
cat("sum2 =", sum2, "\n")