## this example will not work with 'Run examples'
## which uses 'package:knitr' since knitted
## documents do not store source references
fun <- function ()
{
list(
`sys.srcref()` = this.path::sys.srcref(),
## while this might seem like a simpler alternative,
## you will see it does not work in a couple cases below
`attr(sys.call(sys.parent()), "srcref")` =
attr(sys.call(sys.parent()), "srcref")
)
}
## the braces are unnecessary when using example("sys.srcref"),
## but are needed when copied into the R Console
{ fun() }
{ print(fun()) }
{ try(print(fun())) }
Run the code above in your browser using DataLab