[R] bug or no?
Chuck Cleland
ccleland at optonline.net
Tue Aug 24 21:08:37 CEST 2004
I don't think it's a bug, it's partial matching of
argument names. To avoid it, use exact argument names in
your call to the function:
temp(sb=2,s=3)
[1] 2
From the R language definition:
"Argument matching: Formal arguments are matched to supplied
arguments first by exact matching on tags, then by partial
matching on tags, and finally by positional matching."
http://cran.r-project.org/doc/contrib/R_language.pdf
Richard Morey wrote:
> The following code prints [1] 2, as it should
>
> temp<-function(ab,...){
> print(ab)
> }
> temp(2,s=3)
>
> However, this code prints [1] 3:
>
> temp<-function(sb,...){
> print(sb)
> }
> temp(2,s=3)
>
> It should still print [1] 2. It appears
> that if a variable in ... begins with the same letter as another variable,
> the value in the variable in ... overwrites the value in the variable with
> the same first letter.
>
> I didn't see this bug reported elsewhere.
>
> Richard Morey
>
> Is this a bug or am I missing something?
>
> output of R.version
> platform i686-pc-linux-gnu
> arch i686
> os linux-gnu
> system i686, linux-gnu
> status
> major 1
> minor 9.1
> year 2004
> month 06
> day 21
> language R
>
>
--
Chuck Cleland, Ph.D.
NDRI, Inc.
71 West 23rd Street, 8th floor
New York, NY 10010
tel: (212) 845-4495 (Tu, Th)
tel: (732) 452-1424 (M, W, F)
fax: (917) 438-0894
More information about the R-help
mailing list