Para fins de depuração, quero imprimir um número de linha (e nome da função) do local em que a função atual foi chamada. Como faço para obter isso em R?
Eu já vi uma solução para obter o nome do arquivo de origem. Mas como obter o número da linha e o nome da função?]
EDIT: descobri como obter esses dados de traceback()
alguma forma, o traceback é capaz de imprimi-los, mas não sei como decodificar as informações:
f <- function () {
traceback(x = 3, max.lines = 1)
}
g <- function()
{
f()
}
x <- g()
source("file.R") # file with this code
# 5: g() at file.R#20
# 4: eval(ei, envir)
# 3: eval(ei, envir)
# 2: withVisible(eval(ei, envir))
# 1: source("file.R")
str(x[[1]])
# chr "g()"
# - attr(*, "srcref")= 'srcref' int [1:8] 20 1 20 8 1 8 20 20
# ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x0000000013a31700>
.traceback()
.