From hb at stat.berkeley.edu  Thu Mar  6 21:12:59 2008
From: hb at stat.berkeley.edu (Henrik Bengtsson)
Date: Thu, 6 Mar 2008 12:12:59 -0800
Subject: [Rd] Argument "nomatch" matched by multiple actual arguments
	... %in% -> match?!?
In-Reply-To: <59d7961d0803060227o44eae581m385bf8168b1b56d4@mail.gmail.com>
References: <59d7961d0803060227o44eae581m385bf8168b1b56d4@mail.gmail.com>
Message-ID: <59d7961d0803061212v41934cccoad9b5b5a1ab56cfa@mail.gmail.com>

Hi,

a follow up.  If I replace all 'foo %in% bar' in setMethodS3.default()
with is.element(foo, bar) the error goes away.  Here is is.element():

> is.element
function (el, set)
match(el, set, 0) > 0
<environment: namespace:base>

Not much of a difference compared to "%in%"(),

> get("%in%")
function (x, table)
match(x, table, nomatch = 0) > 0
<environment: namespace:base>

except that the 'nomatch' argument is not named in is.element().
Also, none of calls used variable names 'x', 'table', 'el', 'set', or
'nomatch'.

/Henrik

On Thu, Mar 6, 2008 at 2:27 AM, Henrik Bengtsson <hb at stat.berkeley.edu> wrote:
> When I run R CMD check R.oo on R v2.7.0 devel (2008-03-04 r44677) on
>  WinXP I get the following error while testing examples:
>
>  Error in match(x, table, nomatch = 0) :
>   formal argument "nomatch" matched by multiple actual arguments
>  Calls: setMethodS3 -> setMethodS3.default -> %in% -> match
>  Execution halted
>
>  How is that even possible with:
>
>  > get("%in%")
>  function (x, table)
>  match(x, table, nomatch = 0) > 0
>  <environment: namespace:base>
>
>  All '%in' statements in setMethodS3.default are of kind (foo %in%
>  bar).   The error does not happen if I run the example(Object)
>  explicitly.
>
>  /Henrik
>



[Rd] Argument "nomatch" matched by multiple actual arguments ... %in% -> match?!?
Henrik Bengtsson