[Rd] recursive default argument reference
Vadim Ogranovich
vograno at evafunds.com
Wed Nov 10 03:07:04 CET 2004
Got it! Thanks to everyone for the help! Vadim
> -----Original Message-----
> From: r-devel-bounces at stat.math.ethz.ch
> [mailto:r-devel-bounces at stat.math.ethz.ch] On Behalf Of Gabor
> Grothendieck
> Sent: Tuesday, November 09, 2004 5:53 PM
> To: r-devel at stat.math.ethz.ch
> Subject: Re: [Rd] recursive default argument reference
>
> Vadim Ogranovich <vograno <at> evafunds.com> writes:
>
> :
> : Hi,
> :
> : It seems that a formal function argument can not default to
> an "outer"
> : variable of the same name:
> :
> : > x <- "foo"
> : > ff <- function(x=x) x
> : > ff()
> : Error in ff() : recursive default argument reference
> : >
> :
> : Is this intentional? Why?
> :
>
> Because then one arg could not safely refer to another. Here
> x has y as its default value:
>
> x <- 10
> y <- 7
> f <- function(x = y, y = 3) print(x)
> f() # prints 3
>
> Note that you could do this:
>
> x <- "foo"
> ff <- function(x.=x) x.
> ff() # returns "foo"
> ff(x=44) # returns 44
> ff(55) # returns 55
>
> For a real example look at merge.data.frame.
>
> ______________________________________________
> R-devel at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
More information about the R-devel
mailing list