有没有办法将调试器模式中的变量保存到全局环境?

问题描述 投票:1回答:1

我正在使用browser()函数来调试我的代码。我想将所有变量保存到全局环境中,这样当我退出调试模式时,它们将可用。

我知道如何为单个变量执行此操作。例如。如果我想保存df

df <<- df

有没有办法保存所有变量?

r debugging global-variables
1个回答
1
投票

你可以使用*apply()ls()assign()的组合。在一个新的R会话中,我创建了以下函数:

f <- function() {
    x <- 1
    y <- 2
    z <- 3
    return(x + y + z)
}

ls()
# [1] "f"

然后我使用f()运行debug(),就在return()语句之前,从控制台执行以下操作:

lapply(ls(), function(o) assign(x = o, value = get(o), envir = .GlobalEnv))

然后,在函数执行结束后,检查我的全局环境:

ls()
# [1] "f" "x" "y" "z"
© www.soinside.com 2019 - 2024. All rights reserved.