Re: [R] Existence of formal arguments.

From: Duncan Murdoch <murdoch_at_stats.uwo.ca>
Date: Thu, 05 Jun 2008 21:13:21 -0400

On 05/06/2008 8:23 PM, Rolf Turner wrote:
> I just discovered what seems to me to be a slight funny in respect
> of formal argument names. If I define a function
>
> foo <- function(a,b){ ... whatever ...}
>
> then ``inside'' foo() the exists() function will return TRUE
> from ``exists("a") whether an object named ``a'' exists or not.
> But get("a") will yield an error ``object "a" not found''
> in these circumstances.
>
> I presume there is a reason for specifying that an object named
> by a formal argument always exists --- but it is mysterious by my
> standards. Can anyone explain the reason for this behaviour?

Oops, I didn't explain why this is the way it should be.

Say your "whatever" above makes use of a, but you didn't pass an a in. Then you'd like an error, or you'd like "missing(a)" to evaluate to TRUE, or something along those lines. But if a was completely undefined and nonexistent, R would just go looking for a global, and make use of that. So it has to be marked as missing.

Duncan Murdoch



R-help_at_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. Received on Fri 06 Jun 2008 - 03:08:37 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 06 Jun 2008 - 04:30:41 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive