R:我们可以判断是否从RStudio中调用了一个函数吗?

时间:2014-11-29 08:22:30

标签: r rstudio

我希望一个函数在从RStudio中调用时使用RStudio的查看器,否则使用系统浏览器。现在我已经用try()

实现了这个目标
res <- try(rstudio::viewer(html.filepath))
if(class(res)=="try-error") {
  shell.exec(html.filepath)
}

但我认为可能有更好的解决方案......?

1 个答案:

答案 0 :(得分:1)

感谢@Roland,他向我指出了RStudio discussion,我能够找到一个非常简单的布尔答案:

> nzchar(Sys.getenv("RSTUDIO_USER_IDENTITY")) # TRUE  when inside RStudio
                                              # FALSE when outside RStudio

在关于RStudio网站的讨论中给出了一些其他的方法,但我喜欢这个;就我所知,它简短,直截了当,可靠。