[R-SIG-Mac] Retrieving Script Path in R.app

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Sun Oct 10 18:31:38 CEST 2021


See https://stackoverflow.com/a/47045368/2554330 for a risky-looking method.

I think the non-RStudio method is equivalent to this function:

this.path <- function() {
   sys.frame(-5)$srcfile
}

which works for me using Cmd-E, but of course it doesn't work using 
Cmd-Enter, because that doesn't call source().

My conclusion would be to use RStudio rather than the R.app editor.  I 
prefer R.app for interactive use, but not at all for code development.

Duncan Murdoch


On 09/10/2021 11:23 p.m., Andrew Simmons wrote:
> Hello,
> 
> 
> I'd like to programmatically retrieve the path of the currently open script
> in R.app.
> Something like, if I had written:
> 
> this.path()
> 
> within a script that was open in R.app, and I ran that line with
> Command+Enter,
> I'd like it to return the path of the script.
> It seems like this should be possible since Command+E runs the following:
> 
> source("/absolute/path/to/file")
> 
> so R.app knows the path of the open script, but I was unable to find
> anything that would retrieve it on my own. First, I tried looking through
> the environment 'as.environment("tools:RGUI")', but I didn't find anything
> that looked like what I was looking for. Second, I tried comparing the
> functions available in the base packages between Windows and macOS, and
> while there are a few functions available for macOS that are not for
> Windows, none of them looked like what I was looking for.
> Any help will be greatly appreciated, thank you!
> 
> 
> Regards,
>      Andrew Simmons
> 
> 	[[alternative HTML version deleted]]
> 
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>



More information about the R-SIG-Mac mailing list