On Wed, Jul 17, 2013 at 9:58 AM, Brian Rowe <r...@muxspace.com> wrote: > Hello, > > Section 4.3.2 of the R language definition [1] states that argument matching > to formal arguments is a 3-pass process to match arguments to a function. An > error is generated if any (supplied) arguments are left unmatched. > Interestingly the opposite is not true as any unmatched formals does not > generate an error. > >> f <- function(x,y,z) x >> f(2) > [1] 2 >> f(2,3) > [1] 2 > > Since R is lazily evaluated, I understand that it is not an error for an > unused argument to be unassigned. However, it is surprising to me that a > function need not be called with all its required arguments. I guess in this > situation technically "required arguments" means required and referenced > arguments. > >> f() > Error in f() : argument "x" is missing, with no default > > Can anyone shed light on the reasoning for this design choice?
I'm not sure I can, but I'd look around at how the missing() function is used. Cheers, MW ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel