Non-destructively construct a .Last function to be executed when R exits.
Non-destructively construct a .Last
function to be executed when R exits.
lastAdd(fun)
fun |
Function to be called. |
lastAdd
constructs a new function which can be used to replace
the existing definition of .Last
, which will be executed when R
terminates normally.
If a .Last
function already exists in the global environment,
the original definition is stored in a private environment, and the
new function is defined to call the function fun
and then to
call the previous (stored) definition of .Last
.
If no .Last
function exists in the global environment,
lastAdd
simply returns the function fun
.
A new function to be used for .Last
.
This function replaces the (now defunct) addLast
function.
Gregory R. Warnes greg@warnes.net
## Print a couple of cute messages when R exits. helloWorld <- function() cat("\nHello World!\n") byeWorld <- function() cat("\nGoodbye World!\n") .Last <- lastAdd(byeWorld) .Last <- lastAdd(helloWorld) ## Not run: q("no") ## Should yield: ## ## Save workspace image? [y/n/c]: n ## ## Hello World! ## ## Goodbye World! ## ## Process R finished at Tue Nov 22 10:28:55 2005 ## End(Not run) ## Unix-flavour example: send Rplots.ps to printer on exit. myLast <- function() { cat("Now sending PostScript graphics to the printer:\n") system("lpr Rplots.ps") cat("bye bye...\n") } .Last <- lastAdd(myLast) ## Not run: quit("yes") ## Should yield: ## ## Now sending PostScript graphics to the printer: ## lpr: job 1341 queued ## bye bye... ## ## Process R finished at Tue Nov 22 10:28:55 2005 ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.