[R] Example for Roxygen @eval tag?

Boris Steipe bor|@@@te|pe @end|ng |rom utoronto@c@
Mon Apr 22 08:40:39 CEST 2019


I see .. you mean code that extends Roxygen. I was thinking something simple like an .Rmd chunk. But just creating an existing tag doesn't do much either:

  #' @eval sprintf("@section Time: %s", Sys.time() )

Renders as...

  @eval sprintf("@section Time: 

 ... in the .Rd - more than before, but not what I thought. 

An actual example would be most enlightening.
Thanks Jeff,
Boris



> On 2019-04-22, at 02:25, Jeff Newmiller <jdnewmil using dcn.davis.ca.us> wrote:
> 
> What tag are you creating with the eval? Your example wouldn't create valid roxygen code... as I said, it looks rather meta....
> 
> On April 21, 2019 10:40:27 PM PDT, Boris Steipe <boris.steipe using utoronto.ca> wrote:
>> Yes, that's where I started -  the vignette says:
>> 
>>   ... Run arbtirary R code with @eval.
>> 
>>   ... the @eval tag. It evaluates code and treats the result as if it
>>   was a literal roxygen tags. This makes it possible to eliminate
>>   duplication by writing functions.
>> 
>> The first thing I noticed was that it does not say anything about
>> delimiters. By trial and error it seems to consider everything up to
>> the next @... tag in the header. Things that are not R code create an
>> error during devtools::document() processing. It seems the output is
>> captured and processed, i.e. System.time() creates a not-a-string
>> error, but as.character(System.time()) passes ... but then nothing
>> appears in the .Rd - and I haven't been able to find a single example
>> of @eval in use in the wild.
>> 
>> No joy.
>> 
>> 
>> 
>> 
>>> On 2019-04-22, at 01:29, Jeff Newmiller <jdnewmil using dcn.davis.ca.us>
>> wrote:
>>> 
>>> I have not used it... but did you read the vignette [1]? It sounds
>> like it is a bit more meta than you think it is...
>>> 
>>> [1]
>> https://cran.r-project.org/web/packages/roxygen2/vignettes/rd.html
>>> 
>>> On April 21, 2019 7:44:17 PM PDT, Boris Steipe
>> <boris.steipe using utoronto.ca> wrote:
>>>> Playing with Roxygen features, but can't get @eval to work. E.g. ...
>>>> 
>>>> #' @eval sprintf("%s", Sys.time())
>>>> 
>>>> ... does not do what I thought it would (i.e. substitute the tag and
>>>> the expression with the string). Instead I see nothing in the .RD
>> file.
>>>> 
>>>> Any working examples out there?
>>>> Thanks!
>>>> Boris
>>>> 
>>>> ______________________________________________
>>>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>> PLEASE do read the posting guide
>>>> http://www.R-project.org/posting-guide.html
>>>> and provide commented, minimal, self-contained, reproducible code.
>>> 
>>> -- 
>>> Sent from my phone. Please excuse my brevity.
> 
> -- 
> Sent from my phone. Please excuse my brevity.



More information about the R-help mailing list