RE: [Rd] Bug in new() or validObject() in methods package (PR#7922)

From: McGehee, Robert <Robert.McGehee_at_geodecapital.com>
Date: Mon 06 Jun 2005 - 21:30:30 GMT


The bug might be here:
> is.null(expression())
[1] TRUE But
> is.null(expression(NULL))
[1] FALSE So it might look to the methods package like you're passing in a NULL value for @bar. I might argue that expression() should not be NULL (and only NULL is NULL) as I have had similar trouble trying to extend language objects to S4 classes, partially because length 0 name, call and expression objects are either not available, or in this case, handled poorly.

Robert

-----Original Message-----
From: Duncan Murdoch [mailto:murdoch@stats.uwo.ca] Sent: Monday, June 06, 2005 4:58 PM
To: Peter Dalgaard
Cc: r-devel@stat.math.ethz.ch
Subject: Re: [Rd] Bug in new() or validObject() in methods package (PR#7922)

On 6/6/2005 4:55 PM, Peter Dalgaard wrote:

> murdoch@stats.uwo.ca writes:
> 

>> Is it doing an extra eval or something? It looks like it:
>>
>> > x <- expression()
>> > x
>> expression()
>> > eval(x)
>> NULL
>> >
>> > x <- quote(expression())
>> > x
>> expression()
>> > eval(x)
>> expression()
>> > eval(eval(x))
>> NULL
> 
> You do realize that the two expression() results are not identical:
> 

>> x <- quote(expression())
>> class(x)
> [1] "call"

>> x <- expression()
>> class(x)
> [1] "expression"
> 
> Not that I can fathom what bearing that has on the real problem...

I figured they weren't identical, given that they gave different results

  when eval'd, but I didn't know what the difference was exactly. Thanks!

Duncan



R-devel@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

R-devel@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Tue Jun 07 07:34:13 2005

This archive was generated by hypermail 2.1.8 : Mon 20 Feb 2006 - 03:21:06 GMT