Skip to content

[R-pkg-devel] Overriding + operator in a package

2 messages · Emanuele Cordano, Duncan Murdoch

#
Dear list,

I just released on my Github account the following R package:
https://github.com/ecor/stringplus
containing an override of '+' arithmetic operator in order to sum two
strings as follows:

```

library(stringplus)

subject <- "Susan"
     verb <- "is eating"
     object <- "an apple"

     out <- subject+" "+verb+" "+object

     dir <- "~/mydrir/"
     files <- c("myfile.txt","readme.txt")


```
I would like to submit "stringplus"  to CRAN but while ckecking I found out
the following warning:

* checking S3 generic/method consistency ... WARNING
Warning: declared S3 method '+.character' not found
Warning: declared S3 method '+.default' not found
See section ?Generic functions and methods? in the ?Writing R
Extensions? manual.

R version 3.6.3 (2020-02-29) -- "Holding the Windsock"

I wrote the method in S3. I checked the section ?Generic functions and
methods? in the ?Writing R' (R-release) Extensions? manual but I did not
find a clear (to me) example or explanation  for arithmetic (or base)
operators.
Do you suggest how to solve this warning?

Thank you
I hope you are all well.
Best regards
Emanuele Cordano
#
On 21/03/2020 3:03 p.m., Emanuele Cordano wrote:
I suspect the problem is that you created a new `+` generic function. 
There's already an internal one of those in the base package; you 
shouldn't create a new one.

There are other errors in your Github code; presumably you have local 
changes that need to be committed and pushed there.

Duncan Murdoch