18 agosto, 2021
UseMethod(generic, object)
fgenerica <- function(x) print(x) UseMethod("fgenerica")
## Error in eval(expr, envir, enclos): 'função' genérica não é uma função
# Primeira sintaxe fgenerica <- function(x) UseMethod("fgenerica") # Segunda sintaxe fgenerica <- function(x) { UseMethod("fgenerica") } # Terceira sintaxe fgenerica <- \(x) UseMethod("fgenerica") # Quarta sintaxe fgenerica <- \(x) { UseMethod("fgenerica") }
# Funcao generica quem <- function(x) { print("Isso pode ser impresso!") UseMethod("quem") ## Apos a Chamada UseMethod o ambiente eh encerrado! print("Isso nao sera impresso!") } ## Metodo quem.eh <- function(x) print("Sou eu! (arg x)") # Aplicacao: pessoa <- "ben" # objeto sem atributo 'class' class(pessoa) <- "eh" quem(pessoa)
## [1] "Isso pode ser impresso!" ## [1] "Sou eu! (arg x)"