Peter Dalgaard wrote:
Patrick Burns <[EMAIL PROTECTED]> writes:
But the buglet gets more aggressive if you edit the function:
> fjj <- function() x > formals(fjj) <- list(x=c(a=2, b=4)) > fjj function (x = c(2, 4)) x > fjj() a b 2 4 > fix(fjj) # do nothing but save > fjj() [1] 2 4
I'm quite sure that I wouldn't have noticed if my real function were not broken.
Now I know that my functions will work if I assign the formals after I
edit the
function -- even though they look like they shouldn't work.
You did invite trouble by creating and subsequently a function that _has_ no source representation though:
fjj <- function() xa b
formals(fjj) <- list(x=quote(c(a=2, b=4)))
fjj()
2 4
fix(fjj)
fjj()
a b 2 4
But the point of using 'formals' in the first place is to get a function that is self-contained. The real application is more like:
formals(fjj) <- list(x = an_object)
I want 'fjj' to work even when 'an_object' is nowhere to be found.
'formals' worked as (I) expected in versions 1.8.0
through 1.9.1 at least.
Pat
______________________________________________ R-devel@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-devel