Like .Last.value is there any way to access the last call? Below the expected results of the potential .Last.call .
.Last.value
.Last.call
sum(1, 2) # [1] 3 str(.Last.call) # language sum(1, 2)
Sheets, if you do not need to parse the file from the file system.
The package last.call no longer on the tap, but you can still get the code:
last.call
# ----------------------------------------------------------------------- # FUNCTION: last.call # Retrieves a CALL from the history and returns an unevaluated # call. # # There are two uses for such abilities. # - To be able to recall the previous commands, like pressing the up key # on the terminal. # - The ability to get the line that called the function. # # TODO: # - does not handle commands seperated by ';' # # ----------------------------------------------------------------------- last.call <- function(n=1) { f1 <- tempfile() try( savehistory(f1), silent=TRUE ) try( rawhist <- readLines(f1), silent=TRUE ) unlink(f1) if( exists('rawhist') ) { # LOOK BACK max(n)+ LINES UNTIL YOU HAVE n COMMANDS cmds <- expression() n.lines <- max(abs(n)) while( length(cmds) < max(abs(n)) ) { lines <- tail( rawhist, n=n.lines ) try( cmds <- parse( text=lines ), silent=TRUE ) n.lines <- n.lines + 1 if( n.lines > length(rawhist) ) break } ret <- rev(cmds)[n] if( length(ret) == 1 ) return(ret[[1]]) else return(ret) } return(NULL) }
Now to use it:
sum(1, 2) # [1] 3 last.call(2) # sum(1, 2)