デバッグのために、現在の関数が呼び出された場所の行番号(および関数名)を出力します。これをRで取得するにはどうすればよいですか?
ソースファイル名を取得する解決策を見てきまし たが、行番号と関数名を取得する方法は?]
編集:私はこのデータtraceback()
を何らかの形で取得する方法を見つけました、トレースバックはそれを印刷することができますが、それから情報をデコードする方法がわかりません:
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()
。