【发布时间】:2015-07-03 06:57:09
【问题描述】:
我正在开发一个包,它通过 Rscript 公开一个 R 接口(一组交互使用的函数)和一个命令行接口。第二个通过一个小型启动器工作,例如,在命令行:
Rscript mylauncher.R arg1 arg2 arg3
会调用我的包的一个函数。 我想从 R 中测试几个命令行。没什么特别的,只要确保一切运行都没有错误。 如果我在 R 源文件中测试这些调用:
system("Rscript mylauncher.R arg1 arg2 arg3")
如何确定我调用了正确的 Rscript?如果有多个 R 安装? (在我的设置中实际上就是这种情况)。 另一种方法是在 R 源文件中写入:
source("mylauncher.R")
但我不知道如何指定命令行(我会避免覆盖函数commandArgs 的技巧,因为我还想测试命令行的正确标记化)。有人有想法吗?
谢谢!
【问题讨论】:
-
你知道“你可以从 R 调用 R”吗?换句话说,当你已经在 R 中时,你还没有解释为什么你需要去
Rscript。 -
@DirkEddelbuettel 我相信我解释过“我想从 R 测试几个命令行”,即我想测试在 unix 终端中编写的某些命令是否会导致错误,并且此错误不是由于调用了错误版本的 Rscript。
-
也许(在 Unix 系统上)
system("which Rscript")?