R: Call a function in a new R session via 'Rscript()'

Rscript_call {xfun} | R Documentation

## Call a function in a new R session via `Rscript()`

### Description

Save the argument values of a function in a temporary RDS file, open a new R session via `Rscript()`, read the argument values, call the function, and read the returned value back to the current R session.

### Usage

    Rscript_call(
      fun,
      args = list(),
      options = NULL,
      ...,
      wait = TRUE,
      fail = sprintf("Failed to run '%s' in a new R session.",
        deparse(substitute(fun))[1])
    )

### Arguments

`fun` | A function, or a character string that can be parsed and evaluated to a function.
`args` | A list of argument values.
`options` | A character vector of options to passed to `Rscript`, e.g., `"--vanilla"`.
`..., wait` | Arguments to be passed to `system2()`.
`fail` | The desired error message when an error occurred in calling the function.

### Value

The returned value of the function in the new R session.

### Examples

    factorial(10)
    # should return the same value
    xfun::Rscript_call("factorial", list(10))

    # the first argument can be either a character string or a function
    xfun::Rscript_call(factorial, list(10))

    # Run Rscript starting a vanilla R session
    xfun::Rscript_call(factorial, list(10), options = c("--vanilla"))

[Package xfun version 0.29 Index]