Đối với mục đích gỡ lỗi, tôi muốn in số dòng (và tên hàm) của vị trí mà hàm hiện tại được gọi từ đó. Làm thế nào để tôi có được điều này trong R?
Tôi đã thấy một giải pháp lấy tên tệp nguồn Nhưng làm thế nào để có được số dòng và tên hàm?]
EDIT: Tôi đã tìm thấy cách lấy dữ liệu này từ traceback()
một số hình thức, tracBack có thể in nó ra, nhưng tôi không chắc làm thế nào để giải mã thông tin ra khỏi nó:
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()
.