Skip to content
Prev 7506 / 12125 Next

[R-pkg-devel] R feature suggestion: Duplicated function arguments check

On 08/11/2021 10:29 a.m., Vincent van Hees wrote:
Could you give an example where this is needed?  If a named argument is 
duplicated, R will catch that and give an error message:

   > f(a=1, b=2, a=3)
   Error in f(a = 1, b = 2, a = 3) :
     formal argument "a" matched by multiple actual arguments

So this can only happen when it is an argument in the ... list that is 
duplicated.  But usually those are passed to some other function, so 
something like

   g <- function(...) f(...)

would also catch the duplication in g(a=1, b=2, a=3):

   > g(a=1, b=2, a=3)
   Error in f(...) :
     formal argument "a" matched by multiple actual arguments

The only case where I can see this getting by is where you are never 
using those arguments to match any formal argument, e.g.

   list(a=1, b=2, a=3)

Maybe this should have been made illegal when R was created, but I think 
it's too late to outlaw now:  I'm sure there are lots of people making 
use of this.

Or am I missing something?

Duncan Murdoch