是否可以使用Rscript.exe

时间:2019-08-27 06:34:45

标签: r command-line rscript

是否可以调试用Rsc​​ript.exe执行的R源文件?

> Rscript.exe mysource.R various parameters

理想情况下,我希望能够在RStudio的mysource.R文件中的某个位置设置断点。 例如,可以通过在源文件中添加一些调试指令来直接在命令行中输入R调试器吗?

也许从R采购文件可以工作吗?怎么样?如何传递命令行参数“ variable parameters”,以便commandArgs()返回正确的值?

mysource.R可能如下所示(实际上它要复杂得多)。

#!/usr/bin/Rscript

args <- commandArgs(trailingOnly=TRUE)
print(args)



1 个答案:

答案 0 :(得分:0)

就从控制台进行调试而言,几乎没有与之相关的问题,没有答案。

Is there a way to debug an RScript call in RStudio?Rscript debug using command line

因此,我不确定是否有所更改以及现在是否有可能。

但是,我们可以使用黑客手段从文件源中进行调试。您可以在文件中任何要调试的地方添加browser()。将您的主文件视为:

main.R

args <- commandArgs(trailingOnly=TRUE)
browser()
print(args)

现在,我们可以覆盖commandArgs函数,并传递我们想要传递的任何参数,当您获取文件时将传递这些参数。

calling_file.R

commandArgs <- function(...) list(7:9, letters[1:3])
source("main.R")

运行source命令后,您可以从那里调试

Called from: eval(ei, envir)
#Browse[1]> args
#[[1]]
#[1] 7 8 9

#[[2]]
#[1] "a" "b" "c"