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)"