Dear List: In short, I am writing a number of functions as building blocks for other functions and have some questions about scoping and passing arguments.
Suppose I have functions foo1, foo2, and foo3 such that: foo1<-function(a=1,b=TRUE,c=FALSE){#do stuff}; foo2<-function(x=1,y=FALSE,z=c(1,2,3,4)){#do stuff}; foo3<-function(lambda,...){lambda*foo1()*foo2()}; I want to be able to pass a,b,c,x,y,z to the functions foo1 and foo2 though foo3 (whether I define default values or not). How do I do this? I read a bit in the wiki about problems with partial argument matching and argument matching (lesson: make argument names not match truncated versions of other argument names in the "target" function). To get a better feel for things I've been playing with examples such as: b<-c(0.25,0.25); fun<-function(a=1,...){a*b}; fun() returns 0.25 0.25 as expected. fun(a=2) returns 0.5 0.5 as expected. However, fun(b=1) returns 0.25 0.25 when I want to overwrite b with the value 1 and have it return 1. Likewise with fun<-function(a=1,...){a*return(b)}; any argument I supply for b seems to be ignored. I understand as b is not defined within the function when I enter fun() lexical scoping means R looks for b up one level and, finding b, uses it. Thanks for any/all help. Sincerely, Jason Q. McClintic -- Jason Q McClintic UST MB 1945 2115 Summit Avenue St. Paul, MN 55105 [EMAIL PROTECTED] [EMAIL PROTECTED] "It is insufficient to protect ourselves with laws, we must protect ourselves with mathematics."--Bruce Schneier ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.