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

______________________________________________
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to