From gregory_r_warnes at groton.pfizer.com  Wed Apr  7 22:50:42 2004
From: gregory_r_warnes at groton.pfizer.com (Warnes, Gregory R)
Date: Wed Apr  7 22:50:50 2004
Subject: [Rd] Re: [R] More user-friendly error message needed.
Message-ID: <D7A3CFD7825BD6119B880002A58F06C20680B22C@groexmb02.pfizer.com>

Perhaps one could create a utility function 

	has.element <- function(list, name) name %in% names(list)

and then have $ generate a warning (not an error!) when the named element
does not exist.

This would be helpful in debugging code.  Yesterday I spent quite some time
tracking down an error that turned out to be $ returning a NULL because the
data file I read in had a variable mis-named.   A warning message would have
made everything clear right away.

-G

> -----Original Message-----
> From: r-devel-bounces@stat.math.ethz.ch
> [mailto:r-devel-bounces@stat.math.ethz.ch]On Behalf Of Duncan Murdoch
> Sent: Wednesday, April 07, 2004 4:16 PM
> To: Shin; r-devel@stat.math.ethz.ch
> Subject: Re: [Rd] Re: [R] More user-friendly error message needed.
> 
> 
> On Wed, 07 Apr 2004 15:38:54 -0400, Duncan Murdoch <dmurdoch@pair.com>
> wrote :
> 
> >There are several places this could be fixed.  When you use x$z, the
> >code for $ could give an error message or a warning; instead it
> >returns NULL with no error or warning.  Changing this would probably
> >be dangerous:  I'd guess there's code out there that relies 
> on getting
> >a NULL back from a construction like that.  But maybe we 
> should change
> >that in 2.0?
> 
> No, this would be a bad idea.
> 
> A standard test for the existence of a list element is 
> 
> if (is.null(x$z)) ....
> 
> Those would all need some other kind of test if this were changed.
> Not a good idea at all!
> 
> Duncan Murdoch
> 
> ______________________________________________
> R-devel@stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-devel
> 


LEGAL NOTICE\ Unless expressly stated otherwise, this messag...{{dropped}}


[Rd] Re: [R] More user-friendly error message needed.
Warnes, Gregory R