Description Usage Arguments Details Author(s) See Also Examples
local.on.exit
is the analogue of on.exit
for "nested" or "macro" functions written with mlocal
.
1 2 3 | # Inside an 'mlocal' function of the form
# function( <<args>>, nlocal=sys.parent(), <<temp.params>>) mlocal({ <<code>> })
local.on.exit( expr, add=FALSE)
|
expr |
the expression to evaluate when the function ends |
add |
if TRUE, the expression will be appended to the existing |
on.exit
doesn't work properly inside an mlocal
function, because the scoping is wrong (though sometimes you get away with it). Use local.on.exit
instead, in exactly the same way. I can't find any way to set the exit code in the calling function from within an mlocal
function.
Exit code will be executed before any temporary variables are removed (see mlocal
).
Mark Bravington
mlocal
, local.return
, local.on.exit
, do.in.envir
, and R-news 1/3
1 2 3 4 5 6 7 8 9 10 11 | ffin <- function( nlocal=sys.parent(), x1234, yyy) mlocal({
x1234 <- yyy <- 1 # x1234 & yyy are temporary variables
# on.exit( cat( yyy)) # would crash after not finding yyy
local.on.exit( cat( yyy))
})
ffout <- function() {
x1234 <- 99
ffin()
x1234 # still 99 because x1234 was temporary
}
ffout()
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.