[R-pkg-devel] How to Document and S3 Method for the Parenthesis Class?

Jeff Newmiller jdnewm|| @end|ng |rom dcn@d@v|@@c@@u@
Thu Nov 7 18:05:25 CET 2019


That works not because of how the language works but because that is how the `<-` function works.

On November 7, 2019 7:47:57 AM PST, bill using denney.ws wrote:
>That's fair, though it's not 100% consistent because code like the
>following works for symbols, too:
>
>"(\\@" <- 1
>
>(This is selected to show how bad things can be done-- not as an
>example to advocate.)
>
>-----Original Message-----
>From: Jeff Newmiller <jdnewmil using dcn.davis.ca.us> 
>Sent: Thursday, November 7, 2019 10:43 AM
>To: r-package-devel using r-project.org; bill using denney.ws
>Subject: Re: [R-pkg-devel] How to Document and S3 Method for the
>Parenthesis Class?
>
>There are three types of quoting in R... " and ' are for strings, and `
>(backtick) is for symbols.
>
>On November 7, 2019 6:35:49 AM PST, bill using denney.ws wrote:
>>Hi,
>>
>> 
>>
>>Short version of the question:  How does one document a method for the
>
>>"("
>>class in a .Rd file?
>>
>> 
>>
>>Details:
>>
>>I recently contributed to the digest package functions to assist with 
>>generating sha1 hashes for formula objects.  Sometimes within formula,
>
>>the parenthesis ("(") class is used, for example [1]:
>>
>> 
>>
>>> class((a~(b+c))[[3]])
>>
>>[1] "("
>>
>> 
>>
>>So, I wrote a method to handle that class, too.  When trying to 
>>document it in the .Rd file, I tried the following code, but when 
>>checking the documentation, it gets an error:
>>
>> 
>>
>>\method{sha1}{"("}(x, digits = 14, zapsmall = 7, ..., algo = "sha1")
>>
>> 
>>
>>The error when checking the documentation is:
>>
>> 
>>
>>> checking Rd \usage sections ... WARNING
>>
>>  Bad \usage lines found in documentation object 'sha1':
>>
>>   <unescaped bksl>method{sha1}{"("}(x, digits = 14, zapsmall = 7,
>..., 
>>algo = "sha1")
>>
>>  
>>
>>  Functions with \usage entries need to have the appropriate \alias
>>
>>  entries, and all their arguments documented.
>>
>>  The \usage entries must correspond to syntactically valid R code.
>>
>>  See chapter 'Writing R documentation files' in the 'Writing R
>>
>>  Extensions' manual.
>>
>> 
>>
>>I have tried variants of escaping the parenthesis like "\(" and "\\("
>>and
>>the unescaped variant "(", too.
>>
>> 
>>
>>Thanks,
>>
>> 
>>
>>Bill
>>
>> 
>>
>>[1] In case the first thought is, "don't write formula which have a 
>>full side within redundant parentheses", something equivalent to this 
>>was created by update.formula().
>>
>>
>>	[[alternative HTML version deleted]]
>>
>>______________________________________________
>>R-package-devel using r-project.org mailing list 
>>https://stat.ethz.ch/mailman/listinfo/r-package-devel
>
>--
>Sent from my phone. Please excuse my brevity.

-- 
Sent from my phone. Please excuse my brevity.



More information about the R-package-devel mailing list