1
У меня есть следующий код:функция трассировки, которая объявлена внутри другой функции
abc <- function() {
def <- function() { }
def_enter <- function() { print("def_enter") }
def_exit <- function() { print("def_exit") }
trace(def, def_enter, exit = def_exit)
def()
}
abc_enter <- function() { print("abc_enter") }
abc_exit <- function() { print("abc_exit") }
trace(abc, abc_enter, exit = abc_exit)
abc()
я ожидаю выход, как это:
> abc()
Tracing abc() on entry
[1] "abc_enter"
Tracing def() on entry
[1] "def_enter"
Tracing def() on exit
[1] "def_exit"
Tracing abc() on exit
[1] "abc_exit"
NULL
Но получить такой результат:
> abc()
Tracing abc() on entry
[1] "abc_enter"
Tracing function "def" in package "base"
Tracing abc() on exit
[1] "abc_exit"
NULL
Можно ли получить вывод, который я ожидаю? Как я могу исправить код выше?