Dispatches to a method based on the type of input (function
, expression
, or character
).
Writes a valid R function definition to a .R
file, assigning it the provided or inferred name.
Usage
save_function_to_file(fn, fn_name, file, ...)
# S3 method for class '`function`'
save_function_to_file(fn, fn_name = NULL, file = NULL, ...)
# S3 method for class 'expression'
save_function_to_file(fn, fn_name, file = NULL, ...)
# S3 method for class 'character'
save_function_to_file(fn, fn_name, file = NULL, ...)
Arguments
- fn
The function code to save. Can be a function object, an
expression()
containing a function, or a character string with valid R function code.- fn_name
Required name to assign the function in the output file.
- file
Optional file name to write to. Defaults to
<fn_name>.R
.- ...
Passed to class-specific methods.
Details
The expression must contain a function definition, such as expression(function(x) x^2)
.
If this structure is not detected, an error is raised.
The expression must contain a function definition, such as expression(function(x) x^2)
.
If this structure is not detected, an error is raised.
The string must parse as valid R code starting with function(...)
. This method is useful
when saving LLM-generated code or string-encoded snippets that define a function.
Methods (by class)
save_function_to_file(`function`)
: Save a function defined as an expressionsave_function_to_file(expression)
: Save a function defined as an expressionsave_function_to_file(character)
: Save a function from a character string
Examples
if (FALSE) { # \dontrun{
save_function_to_file(expression(function(x) x^2), fn_name = "square")
} # }
if (FALSE) { # \dontrun{
save_function_to_file(expression(function(x) x^2), fn_name = "square")
} # }
if (FALSE) { # \dontrun{
save_function_to_file("function(x) log(x + 1)", fn_name = "logplus1")
} # }